在 Linux 上扩容 HDFS,通常分为 两种情况:
1️⃣ 添加新 DataNode 节点(横向扩容,最常见)
2️⃣ 在已有节点上增加磁盘(纵向扩容)
下面分别说明(以 Hadoop HDFS 为例,常见版本 CDH / HDP / 原生 Apache Hadoop 通用)。
# 示例
192.168.1.10 namenode
192.168.1.11 datanode1
192.168.1.12 datanode2 # 新节点
在 新 DataNode 上:
cd $HADOOP_HOME/etc/hadoop
确保以下文件与 NameNode 一致:
core-site.xmlhdfs-site.xmlworkers(或 slaves)<!-- core-site.xml -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
在新节点执行:
hdfs --daemon start datanode
或(旧版本):
hadoop-daemon.sh start datanode
hdfs dfsadmin -report
应能看到 新的 DataNode 和容量增加。
hdfs balancer
或限制带宽:
hdfs dfsadmin -setBalancerBandwidth 104857600
hdfs balancer -threshold 10
mkfs.ext4 /dev/sdb
mkdir /data2
mount /dev/sdb /data2
写入 /etc/fstab 持久化。
<property>
<name>dfs.datanode.data.dir</name>
<value>/data1/dfs,/data2/dfs</value>
</property>
多个目录用逗号分隔
hdfs --daemon stop datanode
hdfs --daemon start datanode
hdfs dfsadmin -report
workers 文件logs/hadoop-*-datanode-*.logbalancerhdfs:hadoop)| 扩容方式 | 是否常用 | 是否需重启 |
|---|---|---|
| 加 DataNode | ✅ 最常用 | 否 |
| 加磁盘 | ✅ | 是(单节点) |
| 升级 NameNode | ❌ 很少 | 是 |
如果你能告诉我:
我可以给你 更精确的操作步骤。