退役数据节点

在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

<!--dfs.hosts.exculde文件代表namenode访问的黑名单 需要退役的数据节点
黑名单加入的数据节点如果也在dfs.hosts文件存在的话 不会立即退出 而是先把数据块转移到其他数据节点 然后再退役
-->
<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里删除服役节点

改为
node1

在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节点彻底退役,消失

posted @   jsqup  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示