本文是大数据系列第 2 篇,接续环境搭建,重点讲解 Hadoop 集群各 XML 配置文件的含义与写法。

完整图文版:CSDN 原文 | 掘金

Hadoop 集群配置 = HDFS + MapReduce + YARN

Hadoop 集群配置由三部分组成:

  • HDFS 集群配置core-site.xmlhdfs-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 免密登录与分发脚本