在hdfs的namenode所在结点的Hadoop的安装目录的etc/hadoop目录下创建一个dfs.hosts.exclude文件 填写dfs需要的退役的节点主机名
| [root@node1 hadoop]# pwd |
| /opt/app/hadoop-2.8.5/etc/hadoop |
| [root@node1 hadoop]# touch dfs.hosts.exclude |
| [root@node1 hadoop]# vi dfs.hosts.exclude |
| new |
在namenode所在节点的hdfs-site.xml文件中增加一个配置项dfs.hosts.exclude
| |
| |
| |
| <property> |
| <name>dfs.hosts.exclude</name> |
| <value>/opt/app/hadoop-2.8.5/etc/hadoop/dfs.hosts.exclude</value> |
| </property> |
同时在/opt/app/hadoop-2.8.5/etc/hadoop/dfs.hosts里删除服役节点
在namenode所在节点重新刷新一下节点信息,服役节点即可退役
hdfs dfsadmin -refreshNodes
如果hdfs上有一个文件有多个备份或HDFS设置的备份数大于退役之后的节点数量,3个备份,如果节点退役之后,少于备份个数节点,那么无法成功退役
| # 修改备份数为1 |
| [root@node1 hadoop]# hdfs dfs -setrep 1 /hadoop-2.8.5.tar.gz |
| Replication 1 set: /hadoop-2.8.5.tar.gz |
| [root@node1 hadoop]# hdfs dfsadmin -refreshNodes |
| Refresh nodes successful |
节点退役成功

补充
1. 当修改完hdfs.site.xml文件、dfs.hosts.eclude文件后,先不删除dfs.hosts文件中的new,得到的效果是new节点前面加了扳手图标(Decommissioned),当达到重试时间后,new节点前面变成了关机的图标(Decommissioned & dead)
2. 当删除dfs.hosts文件中的new后,刷新节点,new节点彻底退役,消失
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?