在 Linux 环境下对 HDFS 集群扩容,通常分为 增加 DataNode(数据节点) 和 调整 NameNode 容量/配置 两类。最常见、最常见的是 横向扩容:新增 DataNode 节点。下面按实战步骤说明。
dfs.datanode.data.dir所有节点(包括新节点):
vi /etc/hosts
192.168.1.10 namenode
192.168.1.11 datanode1
192.168.1.12 datanode2
192.168.1.13 datanode3 # 新节点
useradd hadoop
passwd hadoop
在 NameNode 上:
ssh-copy-id datanode3
从已有 DataNode 拷贝:
scp -r /opt/hadoop datanode3:/opt/
或新节点单独安装相同版本 Hadoop。
在 新 DataNode 上:
hdfs-site.xml<property>
<name>dfs.datanode.data.dir</name>
<value>/data1/dfs/data,/data2/dfs/data</value>
</property>
core-site.xml<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
新 DataNode 不需要格式化
hdfs --daemon start datanode
或:
start-dfs.sh
hdfs dfsadmin -report
应能看到新 DataNode。
hdfs balancer
或限制带宽:
hdfs dfsadmin -setBalancerBandwidth 104857600
mkfs.ext4 /dev/sdb
mount /dev/sdb /data2
<property>
<name>dfs.datanode.data.dir</name>
<value>/data1/dfs/data,/data2/dfs/data</value>
</property>
hdfs --daemon stop datanode
hdfs --daemon start datanode
一般 不需要,除非:
❌ 新节点 Hadoop 版本不一致
❌ 防火墙未关
❌ 时间不同步
❌ dfs.datanode.data.dir 权限错误
✅ HDFS 扩容 = 加 DataNode
✅ 不需停集群
✅ 加完跑 balancer
如果你愿意,可以告诉我:
我可以给你 精确配置文件示例。