首先要明确一点,整个过程都是在NameNode上进行的
1. 在NN上的mapred-site.xml hdfs-site.xml中分别取配置mapred.hosts, mapred.hosts.exclude,dfs.hosts,dfs.hosts.exclude;没有exclude的配置所指向的文件中先写入所有的TT,DN节点,而有exclude的配置文件中写入要摘除的节点;写法都是一行一个节点(机器名)
2. sudo -u mapred hadoop mradmin -refreshNodes
3. 此时,exclude中配置的机器已经不能连接到jobtracker上了,也就不能执行任务了,但是这个时候仍旧可以连通NN,用来decomission
4. 执行 sudo -u hdfs hadoop dfsadmin -refreshNodes,这个时候将开始decomission
5. 等所有的待摘除节点都decomissioned之后,我们从include文件中将这些节点删除掉
6. 执行 sudo -u hdfs hadoop dfsadmin -refreshNodes