在上一篇博文有介绍hadoop的完全分布式模式的配置,但是没有对负载进行均衡设置,本篇博文就来说明将NameNode,SecondaryNameNode,JobTracker分别指定到三台主机上。
1. 指定SecondaryNameNode为host2
1.1 配置masters
使用如下命令:
vim conf/masters
将之前的host1修改为host2,然后使用如下的命令复制到host2和host3:
scp conf/masters host2:/home/hadoop/workspace/hadoop-1.2.1/conf/masters
scp conf/masters host3:/home/hadoop/workspace/hadoop-1.2.1/conf/masters
如下:
1.2 配置hdfs-site.xml
在conf/hdfs-site.xml里面添加如下内容:
<property>
<name>dfs.http.address</name>
<value>host1:50070</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>host2:50090</value>
</property>
然后使用如下命令分别复制到host2和host3:
scp conf/hdfs-site.xml host2:/home/hadoop/workspace/hadoop-1.2.1/conf/hdfs-site.xml
scp conf/hdfs-site.xml host3:/home/hadoop/workspace/hadoop-1.2.1/conf/hdfs-site.xml
2. 指定JobTracker为host3
2.1 配置conf/mapred-site.xml
修改host1为host3:
<property>
<name>mapred.job.tracker</name>
<value>host3:9001</value>
</property>
然后分别复制到host2和host3:
scp conf/mapred-site.xml host2:/home/hadoop/workspace/hadoop-1.1.2/conf/mapred-site.xml
scp conf/mapred-site.xml host3:/home/hadoop/workspace/hadoop-1.1.2/conf/mapred-site.xml
2.2 配置conf/core-site.xml文件
添加如下内容:
<property>
<name>fs.checkpoint.dir</name>
<value>/home/hadoop/dfs/filesystem/namesecondary</value>
</property>
分别复制到host2和host3:
scp conf/core-site.xml host2:/home/hadoop/workspace/hadoop-1.1.2/conf/core-site.xml
scp conf/core-site.xml host3:/home/hadoop/workspace/hadoop-1.1.2/conf/core-site.xml
3. 配置host3
host3上的脚本start-mapred.sh会启动host2和host6上面的TaskTracker,所以需要对host3设置免密码登录:
ssh-keygen -t rsa(密码为空,路径默认)
ssh-copy-id -i .ssh/id_rsa.pub hadoop@host1
ssh-copy-id -i .ssh/id_rsa.pub hadoop@host2
ssh-copy-id -i .ssh/id_rsa.pub hadoop@host3
host3上面通过ssh无密码登陆host1和host2
ssh host1
ssh host2
ssh host3
在/home/hadoop/.bashrc 中追加:
export PATH=/home/hadoop/workspace/hadoop-1.2.1/bin:$PATH
3. 启动集群
在host1上使用如下命令:
start-dfs.sh
如下:
在host3上使用如下命令:
start-mapred.sh
如下:
4. 查看web管理页面
从上面的设置可以看到jobtracker运行在host3上,所以在浏览器里面输入如下地址进行查看:
http://192.168.238.132:50030/jobtracker.jsp
结果如下:
在集群里面可以看到有3个node:
点击Nodes下面的数字3即可查看具体的node信息:
分别为我们的三个主机:host1、host2和host3.
而在dfshealth页面的集群信息里面可以看到3个live node:
点击进入之后也可以看到我们的三个主机:
这样,我们就将负载进行均衡设置完成了。