yarn下线nodemanager #登录master节点,切换到huser用户 ssh $master sudo su - huser #如果yarn-site.xml配置文件里搜索不到exclude关键字,需要更新配置文件,支持yarn.exclude。 cd /opt/hadoop/etc/hadoop svn up #添加到exclude文件。并且刷新配置 echo $offline_hostname > /opt/hadoop/etc/hadoop/yarn.exclude scp /opt/hadoop/etc/hadoop/yarn.exclude $other_master #在主rm上执行以下命令 yarn rmadmin -refreshNodes #执行以下命令,确保下线机器的Number-of-Running-Containers列为0 yarn node -list -all #登录下线节点关闭进程 ssh $offline_hostname sudo -E -u huser yarn-daemon.sh stop nodemanager #清理exclude文件 > /data/hadoop/yarn.exclude scp /data/hadoop/yarn.exclude $other_master yarn rmadmin -refreshNodes yarn node -list -all hdfs下线datanode #登录master节点,切换到huser用户 ssh $master sudo su - huser #下线机器加入到dfs.hosts.exclude文件:/data/hadoop/dfs.hosts.exclude(注意dfs.hosts.exclude配置需要先在hdfs-site.xml里配置)。并且刷新配置 echo $offline_hostname > /tmp/dfs.hosts.exclude #一行一个datanode /opt/hadoop/sbin/distribute-exclude.sh /tmp/dfs.hosts.exclude #分发到namenodes /opt/hadoop/sbin/refresh-namenodes.sh #刷新配置,在主NN上执行,开始迁移数据 #观察数据迁移情况。迁移中的状态是:Decommission Status : Decommission in progress 迁移完毕后变成:Decommission Status : Decommissioned hdfs dfsadmin -report #等datanode状态变成Decommissioned以后。登录下线节点关闭进程 ssh $offline_hostname sudo -E -u huser hadoop-daemon.sh stop datanode #清理dfs.hosts.exclude文件 echo "" > /tmp/dfs.hosts.exclude /opt/hadoop/sbin/distribute-exclude.sh /tmp/dfs.hosts.exclude #分发到namenodes /opt/hadoop/sbin/refresh-namenodes.sh