前置工作

  • hfds-site.xml 中确保 dfs.hosts, dfs.hosts.exclude 都存在.
    • 假设为 /tmp/includes ,/tmp/excludes

上下线节点只需要修改 Namenode 的 /tmp/includes ,/tmp/excludes 文件, 也可以同步修改所有NN, DN节点

下线节点

  • 假设要移除的节点为 dn1, dn1 需要同时存在于 /tmp/includes ,/tmp/excludes
  • 执行 hdfs dfsadmin -refreshNodes 即可不重启 hdfs, 将 DN节点下线
  • 检查 hdfs web ui, 即可看到节点变为 Decomission 或者 Decomissioning 状态

重新上线节点

  • 将 dn1 从 /tmp/excludes 中移除
  • 执行 hdfs dfsadmin -refreshNodes 即可不重启 hdfs, 将 DN节点上线
  • 检查 hdfs web ui, 即可看到节点变为 In Service 状态