注意:以下操作都是理论上的,由于我安装的是apache hadoop3.1.3 原生版本,所以按照以下操作时,全部不生效

最后只能通过手工停止datanode,nodemanger,停止节点。
然后修改works,在HA模式下,先停1个namenode,然后重启。再停另外个namenode,再重启。


20230214: 第二次操作生效了!!!!。不同点在于需要将两个namenode节点中的worker文件中要下架的节点删除。
以下操作只需要在namenode节点操作。

1 修改workers文件

在两个namenode节点中,将/home/hadoop/bigdata/hadoop/etc/hadoop/workers中要下架的节点先删除掉。

2. 新增文件excludes

填写要删除的节点,比如
cdh192-35
cdh192-36
这个也只需放到namenode节点即可。

2. 修改core-site.xml

<property>
    <name>dfs.hosts.exclude</name>
    <value>/home/hadoop/bigdata/hadoop/etc/hadoop/excludes</value>
</property>

修改hdfs-site.xml

<property>
    <name>dfs.hosts.exclude</name>
    <value>/home/hadoop/bigdata/hadoop/etc/hadoop/excludes</value>
    <final>true</final>
</property>

修改mapred-site.xml

<property>
    <name>mapred.hosts.exclude</name>
    <value>/home/hadoop/bigdata/hadoop/etc/hadoop/excludes</value>
    <final>true</final>
</property>

3. 刷新节点信息

一定要刷新

hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes

image

查看活动的节点

yarn node -list

4.查看节点状态变化

hdfs dfsadmin -report或者web界面查看节点状态变化:

Normal -> decomissioning -> Decommissioned

image