阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop完全分布式集群搭建

224次阅读
没有评论

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

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 依然存在,

需要手工处理一下

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3461字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中