温馨提示×

centos如何集成hdfs和yarn

小樊
43
2026-09-27 14:27:20
栏目: 智能运维

在 CentOS 上“集成 HDFS 和 YARN”,本质是在同一套 Hadoop 集群中同时部署 HDFS(存储)和 YARN(资源调度)。下面按实操流程说明,适用于 CentOS 7/8,Hadoop 3.x。


一、环境准备(所有节点)

1. 系统要求

  • CentOS 7/8
  • JDK 8 或 11(推荐 JDK 8)
  • 多台机器(或单机伪分布式)
  • 主机名可解析(/etc/hosts)

2. 安装 JDK

yum install java-1.8.0-openjdk-devel -y
java -version

3. 配置 hosts

vi /etc/hosts

示例:

192.168.1.10 master
192.168.1.11 node1
192.168.1.12 node2

4. 创建 hadoop 用户(推荐)

useradd hadoop
passwd hadoop

二、安装 Hadoop

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz -C /opt
mv /opt/hadoop-3.3.6 /opt/hadoop

配置环境变量:

vi /etc/profile
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

三、核心配置文件(HDFS + YARN 集成)

1. hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-1.8.0

2. core-site.xml(HDFS 入口)

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/tmp</value>
  </property>
</configuration>

3. hdfs-site.xml(HDFS)

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hadoop/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/dfs/data</value>
  </property>
</configuration>

4. mapred-site.xml(MapReduce on YARN)

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

5. yarn-site.xml(YARN 集成 HDFS)

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>

  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
  </property>

  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/opt/hadoop/yarn/local</value>
  </property>
</configuration>

6. workers(旧版 slaves)

vi $HADOOP_HOME/etc/hadoop/workers
node1
node2

四、启动 HDFS + YARN

1. 格式化 HDFS(仅第一次)

hdfs namenode -format

2. 启动 HDFS

start-dfs.sh

3. 启动 YARN

start-yarn.sh

4. 验证

jps

应包含:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager

Web 页面:

  • HDFS: http://master:9870
  • YARN: http://master:8088

五、测试集成是否成功

hdfs dfs -mkdir /test
hdfs dfs -put file.txt /test

运行 MapReduce 示例:

yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /test/file.txt /output

查看结果:

hdfs dfs -cat /output/part-r-00000

六、常见坑(CentOS)

✅ 防火墙

systemctl stop firewalld

✅ SELinux

setenforce 0

✅ SSH 免密

ssh-keygen
ssh-copy-id node1
ssh-copy-id node2

七、总结

HDFS + YARN 集成本质:

  • HDFS:负责存储
  • YARN:负责调度
  • MapReduce / Spark 运行在 YARN 上,数据来自 HDFS

如果你需要:

  • 单机伪分布式配置
  • Hadoop HA(高可用)
  • Spark on YARN
  • Kerberos 安全集成

可以继续问我。

0 踩