在上一篇博文有介紹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:
點擊進入之後也可以看到我們的三個主機:
這樣,我們就將負載進行均衡設置完成了。