在 Linux 环境下对 HDFS(Hadoop 分布式文件系统)进行扩容,通常分为 横向扩容(加 DataNode) 和 纵向扩容(加磁盘) 两种方式。下面按常见场景详细说明。
这是 最常用、最推荐 的 HDFS 扩容方式。
在新增的 Linux 服务器上:
/etc/hostsssh-keygen
ssh-copy-id datanode-new
从现有节点拷贝配置:
scp -r $HADOOP_HOME datanode-new:/path/
scp /etc/hosts datanode-new:/etc/hosts
确保以下配置一致:
core-site.xmlhdfs-site.xmlworkers(或 slaves)vi $HADOOP_HOME/etc/hadoop/workers
添加新节点:
datanode-new
在新节点执行:
hdfs --daemon start datanode
或(老版本):
hadoop-daemon.sh start datanode
hdfs dfsadmin -report
你会看到:
✅ 无需重启 NameNode,HDFS 自动识别
适用于单节点加硬盘。
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
dfs.replication = 3
实际可用 = 总容量 / 3
dfs.datanode.du.reserved
保留空间,防止磁盘写满。
dfs.datanode.data.dir 配置错误✅ 可以
| 扩容方式 | 是否重启 | 推荐度 |
|---|---|---|
| 新增 DataNode | 否 | ⭐⭐⭐⭐⭐ |
| DataNode 加磁盘 | 单节点重启 | ⭐⭐⭐⭐ |
| 升级 NameNode | 极少 | ⭐ |
如果你能告诉我:
我可以给你 更精确的扩容步骤或脚本。