2.4 配置${Hadoop_HOME}/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>YOUR-SECONDARY-NAMENODE:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
hdfs-site.xml的各项默认配置可参考: 对于一个新集群来说这个文件没没有必须修改的项,但是有几个重要的配置项是可能需要修改的,主要是如下几项:
dfs.namenode.secondary.http-address //指定secondary namenode结点,若不指定,在使用start-dfs.sh启动时,当前节点将自动成为secondary namenode
dfs.replication //每一个block的复制份数,默认是3,如果集群datanode结点数量小于3应将该值设置小于或等于datanode的结点数量
dfs.namenode.name.dir //存放namenode相关数据的文件夹
dfs.datanode.data.dir //存放datanade相关数据的文件夹
dfs.namenode.checkpoint.dir //存放secondary namenode相关数据的文件夹
对于后三项来说,它们的默认值也都是在${hadoop.tmp.dir}之下的子文件夹,你可以根据集群的实际情况修改这三个值。比如:把它们改到一个挂载到NFS上的文件夹。
2.5 配置${HADOOP_HOME}/etc/hadoop/mapred-site.xml
在${HADOOP_HOME}/etc/hadoop下拷贝一份mapred-site.xml.template命名为mapred-site.xml,添加如下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
mapred-site.xml的各项默认配置可参考:hadoop.apache.org/docs/r2.2.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml 该文件唯一一个必须要修改的项是mapreduce.framework.name,该项告诉hadoop使用何种框架执行map-reduce任务。
另外该文件也有几个设及文件存放位置的配置项:
mapreduce.cluster.local.dir
mapreduce.jobtracker.system.dir
mapreduce.jobtracker.staging.root.dir
mapreduce.cluster.temp.dir
如有必要也应该做适当修改。
2.6 配置${HADOOP_HOME}/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>YOUR-RESOURCE-MANAGER</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
yarn-site.xml的各项默认配置可参考: 该文件必须修改的项有两个,基中yarn.resourcemanager.hostname项与core-site.xml的fs.defaultFS项类似,该项为所有的nodemanager指明了resourcemanager,建立起resourcemanager与各nodemanager之间的通信。
另外该文件也有几个设及文件存放位置的配置项:
yarn.nodemanager.local-dirs
yarn.resourcemanager.fs.state-store.uri
如有必要也应该做适当修改。
2.7 配置slave结点列表
通常情况我们使用start-dfs.sh脚本来启动整个集群,查看该脚本可以知道,该脚本会基于配置文件在目标结点上启动namenode,secondary namenode, 和slave(datanode)结点,slave(datanode)的列表是在${HADOOP_HOME}/etc/hadoop/slaves文件中配置的,一个结点一行。所以我们需要在此文件中添加所有的datanode机器名或IP
2.8 将上述配置的hadoop安装程序重新打包复制到所有结点的对应位置再展开,同时记得修改每个结点的/etc/profile