概述
这是在成功安装和配置hadoop的情况下,对hadoop集群的负载进行调整,我的hadoop集群有三台虚拟机,一台为master,另外两台分别为slave1和slave2。
还没有进行负载均衡和添加DataNode节点和TaskTracker节点的时候,三台虚拟机的情况:
master(NameNode、SecondaryNameNode、JobTracker、Jps)
slave1(DataNode、TaskTracker、Jps)
slave2( DataNode、TaskTracker、Jps)
负载均衡和添加DataNode节点和TaskTracker节点之后,三台虚拟机的情况:
master(NameNode、DataNode、TaskTracker,Jps)
slave1(SecondaryNameNode、DataNode、TaskTracker,Jps)
slave2(JobTracker 、DataNode、TaskTracker,Jps)
1、hadoop集群的负载均衡配置
(1)指定slave1为SecondaryNameNode。进入hadoop的安装目录下的conf目录,修改masters文件的内容为slave1;把hdfs-site.xml文件的内容修改为:(在三台虚拟机上都要修改)
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/你的用户名/Hadoop/hadoop-1.2.1/dfs/filesystem/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/你的用户名/Hadoop/hadoop-1.2.1/dfs/filesystem/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.http.address</name>
<value>master:50070</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>slave1:50090</value>
</property>
</configuration>
(2)指定slave2为JobTracker。进入hadoop的安装目录下的conf目录,把mapred-site.xml文件的内容修改为:(在三台虚拟机上都要修改)
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>slave2:8021</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>4</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>4</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/home/你的用户名/Hadoop/hadoop-1.2.1/mapreduce/system</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/你的用户名/Hadoop/hadoop-1.2.1/mapreduce/local</value>
</property>
</configuration>
进入hadoop的安装目录下的conf目录,把core-site.xml文件的内容修改为:(在三台虚拟机上都要修改)
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/你的用户名/Hadoop/hadoop-1.2.1/tmp</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>/home/你的用户名/Hadoop/hadoop-1.2.1/namesecondary</value>
</property>
</configuration>
2、向master节点添加DataNode节点和TaskTracker节点
进入hadoop的安装目录下的conf目录,把slaves的内容修改为:(在三台虚拟机上都要修改)
master
slave1
slave2
3、完成上述配置后,删掉hadoop-1.2.1目录下的dfs、mapreduce、tmp和namesecondary目录,slave1和slave2节点的hadoop-1.2.1目录下只有个别的目录,反正hadoop-1.2.1目录下有fs、mapreduce、tmp和namesecondary目录的都要删掉(在三台虚拟机上都要修改)。
4、在master节点下对HDFS进行格式化:hadoop namenode -format
5、格式化后,接下来不是执行start-all.sh文件,而是在master节点下执行start-dfs.sh,等hdfs启动完后,在slave2节点下执行start-mapred.sh,具体操作如下:
master节点上:
cy@master:~$ start-dfs.sh
starting namenode, logging to /home/cy/Hadoop/hadoop-1.2.1/libexec/../logs/hadoop-cy-namenode-master.out
slave2: starting datanode, logging to /home/cy/Hadoop/hadoop-1.2.1/libexec/../logs/hadoop-cy-datanode-slave2.out
slave1: starting datanode, logging to /home/cy/Hadoop/hadoop-1.2.1/libexec/../logs/hadoop-cy-datanode-slave1.out
master: starting datanode, logging to /home/cy/Hadoop/hadoop-1.2.1/libexec/../logs/hadoop-cy-datanode-master.out
slave1: starting secondarynamenode, logging to /home/cy/Hadoop/hadoop-1.2.1/libexec/../logs/hadoop-cy-secondarynamenode-slave1.out
slave2节点上:
cy@slave2:~$ start-mapred.sh
starting jobtracker, logging to /home/cy/Hadoop/hadoop-1.2.1/libexec/../logs/hadoop-cy-jobtracker-slave2.out
slave1: starting tasktracker, logging to /home/cy/Hadoop/hadoop-1.2.1/libexec/../logs/hadoop-cy-tasktracker-slave1.out
master: starting tasktracker, logging to /home/cy/Hadoop/hadoop-1.2.1/libexec/../logs/hadoop-cy-tasktracker-master.out
slave2: starting tasktracker, logging to /home/cy/Hadoop/hadoop-1.2.1/libexec/../logs/hadoop-cy-tasktracker-slave2.out
6、完成上述步骤后,通过jps命令在三台虚拟机上查看进程:
master节点上:
cy@master:~$ jps
6432 Jps
6391 TaskTracker
6155 DataNode
5904 NameNode
slave1节点上:
cy@slave1:~$ jps
6208 Jps
5673 DataNode
6061 TaskTracker
5870 SecondaryNameNode
slave2节点上:
cy@slave2:~$ jps
5299 DataNode
5623 TaskTracker
5727 Jps
5394 JobTracker
如果出现上述结果,就说明集群负载均衡配置成功,向master节点添加DataNode节点和TaskTracker节点也成功。
7、集群的关闭。关闭hadoop集群的时候,要先在slave2上执行stop-mapred.sh,然后在master上执行stop-dfs.sh,具体操作如下:
slave2节点上:
cy@slave2:~$ stop-mapred.sh
stopping jobtracker
slave2: stopping tasktracker
slave1: stopping tasktracker
master: stopping tasktracker
master节点上:
cy@master:~$ stop-dfs.sh
stopping namenode
slave1: stopping datanode
master: stopping datanode
slave2: stopping datanode
slave1: stopping secondarynamenode
上面都是本人亲自安装和配置成功的经历,跟大家分享一下,希望对大家有所帮助,谢谢!
最后
以上就是勤奋猎豹为你收集整理的hadoop集群的负载均衡配置与添加DataNode节点和TaskTracker节点的全部内容,希望文章能够帮你解决hadoop集群的负载均衡配置与添加DataNode节点和TaskTracker节点所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复