在 Linux 环境下对 Hadoop 进行扩容,通常分为 HDFS 存储扩容 和 集群节点扩容 两种场景。下面按常见做法给你一个清晰流程。
# 查看磁盘
lsblk
# 格式化(示例)
mkfs.ext4 /dev/sdb
# 创建挂载目录
mkdir -p /data/hdfs/datanode2
# 挂载
mount /dev/sdb /data/hdfs/datanode2
编辑 /etc/fstab 防止重启丢失。
方式一:多目录(推荐)
编辑 hdfs-site.xml:
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hdfs/datanode,/data/hdfs/datanode2</value>
</property>
方式二:只换目录(不推荐) 直接修改原目录路径。
hadoop-daemon.sh stop datanode
hadoop-daemon.sh start datanode
或(HA 环境):
hdfs --daemon stop datanode
hdfs --daemon start datanode
hdfs dfsadmin -report
应看到新增容量。
core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml/etc/hosts在 NameNode 的 workers(旧版 slaves)文件中添加:
new-node-ip
hdfs --daemon start datanode
yarn --daemon start nodemanager
hdfs balancer
可指定带宽:
hdfs dfsadmin -setBalancerBandwidth 104857600
只要新节点启动了 NodeManager,YARN 自动识别。
验证:
yarn node -list
dfs.data.dirbalancer如果你能告诉我:
我可以给你更精确的命令示例。