本文是大数据系列第 2 篇,接续环境搭建,重点讲解 Hadoop 集群各 XML 配置文件的含义与写法。
Hadoop 集群配置 = HDFS + MapReduce + YARN
Hadoop 集群配置由三部分组成:
- HDFS 集群配置:
core-site.xml、hdfs-site.xml - MapReduce 集群配置:
mapred-site.xml - YARN 集群配置:
yarn-site.xml
三节点规划:h121(NameNode)、h122(DataNode)、h123(SecondaryNameNode + ResourceManager)
1. hadoop-env.sh
配置 Java 路径,避免集群运行时找不到 JDK:
export JAVA_HOME=/opt/jdk/jdk1.8.0_202
2. core-site.xml(NameNode 地址)
<configuration>
<!-- HDFS 访问地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://h121.wzk.icu:9000</value>
</property>
<!-- 临时数据目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/servers/hadoop-2.9.2/data/tmp</value>
</property>
</configuration>
3. hdfs-site.xml(SecondaryNameNode + 副本数)
<configuration>
<!-- SecondaryNameNode 地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>h123.wzk.icu:50090</value>
</property>
<!-- 副本数,3 节点集群设为 3 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
同时在 slaves 文件中写入三个节点:
h121.wzk.icu
h122.wzk.icu
h123.wzk.icu
4. mapred-site.xml(MapReduce 运行框架)
先将模板文件复制一份:
cp mapred-site.xml.template mapred-site.xml
配置 MapReduce 使用 YARN 作为资源调度框架:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5. yarn-site.xml(ResourceManager 地址)
<configuration>
<!-- ResourceManager 主机 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>h123.wzk.icu</value>
</property>
<!-- MapReduce shuffle 服务 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
注意事项
- 公网云服务器部署时,
/etc/hosts中的域名必须映射到0.0.0.0(而非127.x.x.x),否则服务无法对外暴露 - 所有配置文件需同步到三台节点(使用 rsync 分发脚本)
- 权限统一:
chown -R hadoop:hadoop /opt/servers/hadoop-2.9.2
配置完成后继续第 3 篇:SSH 免密登录与分发脚本