Debian Hadoop缩容(移除节点)步骤如下:
- 提前配置排除文件
在NameNode节点的hdfs-site.xml中添加dfs.hosts.exclude属性,指向包含待移除节点主机名的文件(如/etc/hadoop/exclude),并同步该文件到集群所有节点。<property> <name>dfs.hosts.exclude</name> <value>/etc/hadoop/exclude</value> </property> - 停止待移除节点服务
在待移除节点上执行:hadoop-daemon.sh stop datanode yarn-daemon.sh stop nodemanager - 刷新集群配置
在NameNode节点执行以下命令,使配置生效:hdfs dfsadmin -refreshNodes yarn rmadmin -refreshNodes - 验证节点状态
- 通过NameNode的Web UI(默认
http://namenode:50070)查看节点状态,确认其变为Decommission in Progress,最终变为Dead。 - 确保数据块已复制到其他节点,避免数据丢失。
- 通过NameNode的Web UI(默认
- 移除节点配置
待节点状态为Dead后,从hdfs-site.xml的dfs.hosts文件中删除该节点主机名,并再次执行refreshNodes命令。
注意事项:
- 操作前备份配置文件和数据,确保集群高可用性。
- 一次移除节点数建议不超过集群规模的10%,避免影响集群稳定性。
- 若需移除多个节点,可批量添加至
exclude文件,统一处理。