hadoop完全分布式集群如何搭建

70次阅读
没有评论

共计 3209 个字符,预计需要花费 9 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 hadoop 完全分布式集群如何搭建,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

                hadoop 分布式集群搭搭建 (环境:linux 虚拟机上)

1. 准备工作:(规划主机名,ip 及用途, 先搭建三台, 第四台动态的添加

  用途栏中, 也可以把 namenode,secondaryNamenode 及 jobTracker

  分开部署, 看实际需求, 不唯一 )

  主机名   机器 ip  用途

 cloud01 192.168.1.101 namenode/secondaryNamenode/jobTracker

 cloud02 192.168.1.102 datanode/taskTracker

 cloud03 192.168.1.103 datanode/taskTracker

 cloud04 192.168.1.104 datanode/taskTracker

2. 配置 linux 环境 (以下参照伪分布式的搭建)

 2.1 修改主机名 (cloud01,cloud02,cloud03)

 2.2 修改每台机器的 ip(按照自己分配的)

 2.3 修改主机名与 ip 的映射关系

 (只在 cloud01 上修改, 改完后拷贝到其它机器上就行, 指令:

 scp /etc/profile cloud02:/etc/

 scp /etc/profile cloud03:/etc/)

 2.4 关闭防火墙

 2.5 重启

3. 安装 jdk(参照伪分布式的搭建, 版本以 jdk1.6.0_45 为例)

  只需要在一台机器上安装, 然后拷贝到其他机器上 (软件最好统一管理)

  例如在 cloud01 上 jdk 安装在 /soft/java 下

 (使用指令:scp -r /soft/java/ cloud02:/soft/

 scp -r /soft/java/ cloud03:/soft/

  就可以把 jdk 拷贝过去了. 但是我们暂时不拷贝过去, 等下面 hadoop 安装好后, 一起拷过去 )

4. 安装 hadoop 集群 (hadoop 版本以 hadoop-1.1.2 为例)

 4.1 上传 hadoop 压缩包到 /soft 目录下, 并解压到该目录下 (参照伪分布式的搭建)

 4.2 配置 hadoop(这次需要配置 6 个文件)

 4.21hadoop-env.sh

  在第九行

 export JAVA_HOME=/soft/java/jdk1.6.0_45 (注意把前面的 #号去掉)

 4.22core-site.xml

  !–  指定 HDFS 的 namenode 的通信地址  —

  property

  name fs.default.name /name

  value hdfs://cloud01:9000 /value

  /property

  !–  指定 hadoop 运行时产生文件的存放目录  —

  property

  name hadoop.tmp.dir /name

  value /soft/hadoop-1.1.2/tmp /value

  /property

 4.23hdfs-site.xml

  !–  配置 HDFS 副本的数量 (根据需求, 实际情况自己定义, 默认为 3 份) —

  property

  name dfs.replication /name

  value 3 /value

  /property

 4.24mapred-site.xml

  !–  指定 jobtracker 地址  —

  property

  name mapred.job.tracker /name

  value cloud01:9001 /value

  /property

 4.25masters(指定 secondarynamenode 地址)

 cloud01

 4.26slaves(指定子节点)

 cloud02

 cloud03

 4.3 将配置好的 hadoop 拷贝到其他两台机器上

  直接将 soft 那个文件夹都拷贝过去 (里面包含了 jdk 和 hadoop, 所以强烈建议

  文件要统一管理 )

  指令:

 scp -r /soft/ cloud02:/

 scp -r /soft/ cloud03:/

 4.4 配置 ssh 免登

  是主节点到子节点的免登陆

  即 cloud01 到 cloud02 和 cloud03 的免登陆

  在 cloud01 上生成即可

  指令:ssh-keygen -t rsa

  然后拷贝到其它两台机器上

  指令:ssh-copy-id -i cloud02

 ssh-copy-id -i cloud03

 4.5 格式化 hadoop

  只需要在 cloud01(主节点 namenode) 上格式化就行

  指令:hadoop namenode -format

 4.6 验证

  启动集群   指令:start-all.sh

  如果启动过程,报错 safemode 相关的 Exception

  执行命令:hadoop dfsadmin -safemode leave(退出安全模式)

  再次启动 hadoop

  然后 jps 一下, 查看各台机器, 看是否和规划好的用途一样即可 )

 OK, 如果和规划好的一样, 就大功告成了.

5. 动态添加一台节点

 (在实际生产过程中, 很常见, 很实用)

 cloud04 192.168.1.104 datanode/taskTracker

 5.1 通过 clone 的方式添加一台 linux(以 clone cloud01 为例. 实际生产过程中不会这样,

  因为实际生产过程中很少用虚拟机, 都是直接服务器. 注意,clone 时,

  得先把要 clone 的机器给停掉 )

 5.2 修改主机名,ip 地址, 配置映射文件, 关闭防火墙, 再 hadoop 配置

  文件 slaves 中添加 cloud04, 设置免登陆, 重启

 (clone 的话, 就无需再配置映射文件, 和关闭防火墙了. 因为

  你 clone 的那台机器已经配置好了 )

 5.3 重启机器后, 分别启动 datanode 和 taskTracker

  指令:hadoop-daemon.sh start datanode

 hadoop-daemon.sh start tasktracker

 5.4 在 cloud01 上即 namenode 所在节点上运行命令刷新

 hadoop dfsadmin -refreshNodes

 5.5 验证

 http://linux 的 ip:50070(hdfs 管理界面)

  看是否多了一个节点, 如果多了一个, 则大功告成了!

6. 删除一台节点 (此处为收集)

 6.1 在 cloud01 上修改 /soft/hadoop-1.1.2/conf/hdfs-site.xml 文件

  添加配置信息:

  property

  name dfs.hosts.exclude /name

  value /soft/hadoop-1.1.2/conf/excludes /value

  /property

 6.2 确定要下架的机器

 dfs.hosts.exclude 定义的文件内容为, 每个需要下线的机器,一行一个。

 6.3 强制重新加载配置

  指令:hadoop dfsadmin -refreshNodes

 6.4 关闭节点

  指令:hadoop dfsadmin -report 

  可以查看到现在集群上连接的节点

  正在执行 Decommission,会显示: 

 Decommission Status : Decommission in progress 

  执行完毕后, 会显示: 

 Decommission Status : Decommissioned 

 6.5 再次编辑 excludes 文件

  一旦完成了机器下架,它们就可以从 excludes 文件移除了

  登录要下架的机器,会发现 DataNode 进程没有了,但是 TaskTracker 依然存在,

  需要手工处理一下

关于“hadoop 完全分布式集群如何搭建”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计3209字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)