-
登录一台 Namenode
-
进入配置目录,
$HADOOP_PREFIX/etc/hadoop
-
查找 exclude 配置项:
grep "exclude" hdfs-site.xml
-
修改 /usr/local/hadoop/etc/hadoop/exclude-hosts
- 注意:主备 namenode 都要修改
-
添加准备下线的 datanode ip: 192.168.34.24
-
执行
hdfs dfsadmin -refreshNodes
Decommissioned
等待 Decommisioning 列表中 Under replicated blocks 归零。
DataNode 的状态会变成 Decommissioned 。
此时登录 DataNode ,将服务停掉。
$HADOOP_PREFIX/sbin/hadoop-daemon.sh stop datanode
等待一段时间,DataNode 的状态会变成 Dead, Decommissioned 。
One more thing
下线若干台 DataNode 之后,WebUI 上还有记录怎么办?
如果不处理,这些 DataNode 同时被标记为 Dead 和 DecomDead 状态,所以会影响到监控。
需要重启 NameNode 才能刷新这个列表。
步骤:
- 备 NameNode 重启 (当前主 ES-ZJ-LNA-018, 备 ES-ZJ-LNA-022)
$HADOOP_PREFIX/sbin/hadoop-daemon.sh stop namenode
$HADOOP_PREFIX/sbin/hadoop-daemon.sh start namenode
- 执行主备切换
ES-ZJ-LNA-018 Namenode ID: nn1
ES-ZJ-LNA-022 Namenode ID: nn2
$HADOOP_PREFIX/bin/hdfs haadmin -failover nn1 nn2
- 将新的备 NameNode 重启。