hadoop 2.4.1集群搭建

时间:2022-09-13 20:13:34

hadoop 2.4.1集群搭建
由于目前使用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