温馨提示×

centos怎样扩容hdfs

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

CentOS 上“扩容 HDFS”通常有两层含义,需要区分清楚:

  1. 增加 DataNode 节点(横向扩容):集群加机器,HDFS 自动扩容
  2. 单机 DataNode 磁盘扩容(纵向扩容):原来磁盘满了,加新磁盘或扩大分区

下面分别说明。


一、横向扩容(加 DataNode 节点)

前提

  • 新机器已安装 同版本 JDK
  • 已配置 SSH 免密
  • 与现有集群 网络互通
  • Hadoop 版本一致

步骤

1. 安装 Hadoop

# 复制 master 的 hadoop 目录
scp -r /opt/hadoop root@newnode:/opt/

2. 修改 hosts(所有节点)

vi /etc/hosts

添加:

new_node_ip newnode

3. 配置 workers(原集群)

vi $HADOOP_HOME/etc/hadoop/workers

添加:

newnode

4. 启动 DataNode

hdfs --daemon start datanode

5. 验证

hdfs dfsadmin -report

看到新节点即成功。


二、单节点加磁盘扩容(最常见)

场景

  • DataNode 磁盘满
  • 新加一块盘(如 /dev/sdb

步骤

1. 查看磁盘

lsblk
fdisk -l

2. 格式化新盘

mkfs.xfs /dev/sdb

3. 挂载目录

mkdir -p /data/hdfs/datanode2
mount /dev/sdb /data/hdfs/datanode2

4. 修改权限

chown -R hdfs:hadoop /data/hdfs/datanode2

5. 修改 hdfs-site.xml

<property>
  <name>dfs.datanode.data.dir</name>
  <value>/data/hdfs/datanode,/data/hdfs/datanode2</value>
</property>

6. 重启 DataNode

hdfs --daemon stop datanode
hdfs --daemon start datanode

7. 验证

hdfs dfsadmin -report

三、NameNode 空间不足(注意)

NameNode 不能简单扩容磁盘容量来“扩 HDFS 文件数”
如果:

  • 小文件太多
  • NameNode 内存 / 元数据压力大

解决方案:

  • 合并小文件
  • 增加 NameNode 内存
  • 使用 HDFS Federation(高级)

四、常见坑

问题 原因
新节点不显示 workers 没配 / 防火墙
磁盘不识别 没 chown
容量没增加 dfs.datanode.data.dir 没改
权限错误 hadoop 用户不一致

五、快速判断你属于哪种

你可以告诉我:

  1. 加机器 还是 加磁盘
  2. HDFS 版本(2.x / 3.x)?
  3. 是单节点还是集群?

我可以直接给你一步到位的命令清单

0