温馨提示×

centos如何扩容hdfs

小樊
37
2026-09-09 10:55:49
栏目: 智能运维

CentOS 上“扩容 HDFS”通常包含两种场景:

  1. 横向扩容(加 DataNode 节点) ✅ 最常见
  2. 纵向扩容(单节点加磁盘 / 扩容原有目录)

下面分别说明。


一、横向扩容 HDFS(新增 DataNode)

1. 新节点准备(CentOS)

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 配置主机名
hostnamectl set-hostname dn-new

# 配置 /etc/hosts
192.168.1.10 nn
192.168.1.11 dn1
192.168.1.12 dn-new

2. 创建 hadoop 用户并配置免密

useradd hadoop
passwd hadoop

# 从 NameNode 拷贝公钥
ssh-copy-id hadoop@dn-new

3. 安装 JDK & Hadoop

yum install java-1.8.0-openjdk -y

从 NameNode 拷贝 Hadoop 安装目录:

scp -r /opt/hadoop dn-new:/opt/

4. 修改配置

NameNodeworkers(或 slaves)文件中添加:

dn-new

5. 启动 DataNode

/opt/hadoop/sbin/hadoop-daemon.sh start datanode

6. 验证

hdfs dfsadmin -report

看到新节点即扩容成功。


二、纵向扩容(单机加磁盘)

1. 挂载新磁盘

fdisk -l
mkfs.ext4 /dev/sdb
mkdir /data2
mount /dev/sdb /data2

2. 修改 hdfs-site.xml

<property>
  <name>dfs.datanode.data.dir</name>
  <value>/data1/dfs,/data2/dfs</value>
</property>

3. 重启 DataNode

hadoop-daemon.sh stop datanode
hadoop-daemon.sh start datanode

三、HDFS 自动平衡(重要)

新增节点后建议做数据均衡:

hdfs balancer
# 或限制带宽
hdfs dfsadmin -setBalancerBandwidth 104857600

四、常见问题

  • ❌ 新节点未出现在 report
    → 检查防火墙、SSH、hosts
  • ❌ 容量未增加
    → 检查 dfs.datanode.data.dir
  • ❌ 权限错误
    → 目录属主必须是 hadoop 用户

如果你能告诉我:

  • HDFS 版本(2.x / 3.x)
  • 加机器 还是 加磁盘
  • 是否用 CDH / HDP / 原生 Hadoop

我可以给你更精确的步骤。

0