温馨提示×

centos中hdfs如何扩容

小樊
47
2026-09-15 14:55:20
栏目: 智能运维

CentOS 环境下对 HDFS 扩容,通常分为 横向扩容(加 DataNode)纵向扩容(给已有节点加磁盘) 两种方式。下面按常见场景说明。


一、横向扩容(新增 DataNode 节点)

1. 新节点准备

在新 CentOS 节点上:

  • 安装与集群一致的 JDK
  • 配置主机名、IP、hosts
  • 配置与 NameNode 的 免密 SSH
  • 关闭防火墙或放通端口(50010、50020、50070 等)
# 示例
hostnamectl set-hostname hadoop-datanode3

2. 安装 Hadoop 并同步配置

从已有节点拷贝 Hadoop 目录:

scp -r /opt/hadoop root@newnode:/opt/

确保以下配置一致:

  • core-site.xml
  • hdfs-site.xml
  • workers(或 slaves
<!-- hdfs-site.xml 示例 -->
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/data1/dfs,/data2/dfs</value>
</property>

3. 启动 DataNode

hdfs --daemon start datanode

4. 验证

hdfs dfsadmin -report

看到新节点即扩容成功。


二、纵向扩容(已有节点加磁盘)

1. 挂载新磁盘

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

写入 /etc/fstab 实现开机挂载。

2. 修改 DataNode 配置

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

3. 重启 DataNode

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

三、HDFS 容量均衡(重要)

新节点加入后,旧节点数据不会自动迁移,需要执行 Balancer

hdfs balancer -threshold 10
  • threshold:节点间磁盘使用率差值阈值(%)
  • 生产环境建议在低峰期执行

四、NameNode 容量说明

HDFS 扩容 不需要扩容 NameNode 磁盘,除非:

  • 文件数爆炸(小文件太多)
  • 元数据磁盘满

此时需:

  • 合并小文件
  • 或升级 NameNode 磁盘

五、常见问题

  1. 新节点不显示

    • 检查 workers 文件
    • 检查防火墙
    • 查看 DataNode 日志
  2. 容量没变化

    • 是否执行了 balancer
    • 是否配置了新目录

如果你能告诉我:

  • HDFS 版本(CDH / HDP / 原生)
  • 是加机器还是加磁盘

我可以给你更精确的命令。

0