<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>
The runtime framework for executing MapReduce jobs.
Can be one of local, classic or yarn.
</description>
</property>
编辑yarn-site.xml,增加如下内容:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>
the valid service name should only contain a-zA-Z0-9_ and can not start with numbers
</description>
</property>
<!-- 指定resourcemanager的节点,若无此段配置,将会出现DataNode节点上的nodemanager进程启动一段时间之后自动消失的问题 -->
<property>
<description>The hostname of the RM.</description>
<name>yarn.resourcemanager.hostname</name>
<value>namenode01</value>
</property>
创建文件 masters,增加如下内容:(实现namenode和secondarynamenode分离)
namenode02
修改文件 slaves,增加如下内容:
datanode01
datanode02
datanode03
datanode04
datanode05
datanode06
datanode07
datanode08
将hadoop文件夹拷贝到其他节点,使用上面的脚本scpFile
scpFile /home/sys/hadoop-2.6.1 /home/sys/
二、集群启动
格式化操作,进入到namenode01的hadoop根目录下,执行:
bin/hadoop namenode –format
出现Successfully字样的时候,即为格式化成功
注意:如果需要再次及多次格式化namenode,一定把hdfs-site.xml中dfs.datanode.data.dir目录清空一下,否则会造成重新格式化后DataNode启动不起来的问题。
因为该目录下有一个版本号,多次格式化可能导致DataNode和NameNode的版本号不一致。
启动dfs文件系统
sbin/start-dfs.sh
验证,jps命令查看:
namenode01上出现NameNode进程
namenode02上出现SecondaryNameNode进程
datanode0*上出现DataNode进程
即为启动dfs成功
启动yarn
sbin/start-yarn.sh
验证,jps命令查看:
namenode01上出现ResourceManager进程
datanode0*上出现NodeManager进程
即为启动yarn成功
三、修改hadoop启动日志目录
修改namenode、datanode节点默认日志目录
编辑hadoop-env.sh,修改HADOOP_LOG_DIR
export HADOOP_LOG_DIR=your path
修改resourcemanager、nodemanager日志目录
编辑yarn-env.sh,修改YARN_LOG_DIR
if [ "$YARN_LOG_DIR" = "" ]; then
YARN_LOG_DIR="your path"
四、去除本地库加载失败的警告信息
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
原因:Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题
修改加载本地库的日志级别
编辑 $HADOOP_HOME/etc/hadoop/log4j.properties,增加如下内容:
log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
下面关于Hadoop的文章您也可能喜欢,不妨看看:
Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程
CentOS安装和配置Hadoop2.2.0