由于目前使用2.4.1的人很少,所在在这方面的可以参考资料比较少,
但是不管怎么样,以下这个链接帮了我很大的忙。
http://blog.csdn.net/u010967382/article/details/20380387
在搭建的过程中遇到了一些,问题,
1.在把所有机器都安装完ssh之后,启动服务的时候一切正常,但是在 使用 http://master:50070/ 的时候发现少了一台datanode,而且查看所有的datanode的jps的时候都是正常显示:“NodeManager","DataNode",觉得很奇怪,最后发现IT给我的集群的时候有一台datanode机器的防火墙没有关闭,而且每次关闭集群的时候z在关闭那台不显示的datanode的时候都会出一个错误. "nodemanager did not stop gracefully after 5 seconds: killing with kill -9".找了好久,没找到相关的资料。后来自己想想,其他datanode所有配置都一样,为什么会有这问题,弄了一个晚上没有弄好,早上起来想了一些,应该是网络的问题,到公司一看,果然是防火墙的问题,
service iptables stop,果断好了,不过需要更改启动配置,以免集群重启以后失效。
2.在hadoop 2.4.1里面启动jps的时候其实已经没有jobTrack和taskTrack这个两个服务了,换成了JobHistoryServer ,这个不需要去纠结。
第一步:
以下是配置:core-size.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://n1.hadoop:8020</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> </configuration>
mapred-size.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>n1.hadoop:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>n1.hadoop:19888</value> </property> </configuration>
hdfs-size.xml
<configuration> <property> <name>dfs.nameservices</name> <value>hadoop-test</value> </property> <property> <name>dfs.ha.namenodes.hadoop-test</name> <value>n1</value> <description> The prefix for a given nameservice, contains a comma-separated list of namenodes for a given nameservice (eg EXAMPLENAMESERVICE). </description> </property> <property> <name>dfs.namenode.rpc-address.hadoop-test.n1</name> <value>n1.hadoop:8020</value> <description> RPC address for nomenode1 of hadoop-test </description> </property> <property> <name>dfs.namenode.http-address.hadoop-test.n1</name> <value>n1.hadoop:50070</value> <description> The address and the base port where the dfs namenode1 web ui will listen on. </description> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>n1.hadoop:50090</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>
yarn-size.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>n1.hadoop</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>${yarn.resourcemanager.hostname}:8032</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>n1.hadoop:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>hdfs://n1.hadoop:19002/</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>n1.hadoop:8088</value> </property> </configuration>
第二:启动集群:
sbin/start-all.sh
sbin/mr-jobhistory-daemon.sh start historyserver 需要自己手动启动,否则看不到JobHistoryServer 进程,对应的 http://n1.hadoop:19888/jobhistory也看不到。
HDFS 界面:
n1.hadoop:50070/dfshealth.jsp
YARN界面:
n1.hadoop:8088
JobTrack界面:
http://n1.hadoop:19888/jobhistory
第三步:停止集群
在RM和NN所在节点master执行:
先停止yarn:
sbin/stop-yarn.sh
再停止hdfs:
sbin/stop-dfs.sh
在运行
JobHistoryServer的slave1上执行:
停止JobHistoryServer:
sbin/mr-jobhistory-daemon.sh stop historyserver