温馨提示×

centos如何加hdfs节点

小樊
57
2026-09-12 08:09:30
栏目: 智能运维

在 CentOS 上“加 HDFS 节点”通常有两种理解:

  1. 新增 DataNode(数据节点) —— 最常见
  2. 新增 NameNode(名称节点,如扩容为 HA) —— 较复杂

下面以 Hadoop HDFS 新增 DataNode(CentOS 环境) 为主说明,最后补充 NameNode 简要说明。


一、新增 HDFS DataNode(CentOS)

1. 前置准备(新节点)

在新 CentOS 节点上执行:

(1)主机名 & hosts

hostnamectl set-hostname hadoop-datanode-new

所有节点 /etc/hosts 添加:

192.168.1.10 hadoop-namenode
192.168.1.11 hadoop-datanode-new

(2)关闭防火墙 / SELinux

systemctl stop firewalld
systemctl disable firewalld

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

(3)安装 JDK

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

(4)创建 hadoop 用户(建议)

useradd hadoop
passwd hadoop

2. 配置 SSH 免密(NameNode → 新节点)

在 NameNode 上:

ssh-copy-id hadoop@hadoop-datanode-new

3. 同步 Hadoop 安装目录

在 NameNode 或已有节点:

scp -r /opt/hadoop hadoop@hadoop-datanode-new:/opt/

确保:

  • HADOOP_HOME 一致
  • core-site.xml、hdfs-site.xml 一致

4. 修改集群配置

在 NameNode 的:

$HADOOP_HOME/etc/hadoop/workers

(老版本叫 slaves)

添加:

hadoop-datanode-new

5. 启动 DataNode

在新节点执行:

$HADOOP_HOME/sbin/hadoop-daemon.sh start datanode

或统一启动:

$HADOOP_HOME/sbin/start-dfs.sh

6. 验证

hdfs dfsadmin -report

应看到新 DataNode。

Web UI:

http://namenode:9870

二、如果新增 NameNode(HA 扩容)

简要步骤:

  1. 新节点安装 Hadoop
  2. 配置 hdfs-site.xml(nameservice、nn1/nn2)
  3. 格式化 NameNode(仅第一次)
  4. 启动 ZKFC(如用 ZooKeeper)
  5. 做 hdfs namenode -bootstrapStandby

⚠️ 不建议直接改非 HA → HA,需重新规划


三、常见问题

  • DataNode 不显示
    • 检查防火墙
    • 检查 clusterID 是否一致
  • clusterID 不一致
    cat /data/hadoop/dfs/name/current/VERSION
    cat /data/hadoop/dfs/data/current/VERSION
    

如果你能告诉我:

  • Hadoop 版本
  • 是否 HA
  • 新增的是 DataNode 还是 NameNode

我可以给你精确到配置文件的步骤。

0 踩