dfs.hosts.exclude excludes
excludes 是文件,位于 Hadoop 的安装目录下,用其列出需要删除的节点的 hostname 或 ip:port(推荐 hostname)。
运行命令:
$ hadoop dfsadmin -refreshNodes $ hadoop dfsadmin -report
hadoop dfsadmin -report 执行后可看到 excludes 中列出的节点的 Decommission Status 为: Decommission In Progress 或者该节点已消失(当时间足够长时)。
登录从集群中删除的节点,运行:
$ hadoop-daemon.sh stop datanode $ hadoop-daemon.sh stop tasktracker
PS: 按正常理解, 有关 dfs. 开头的配置应该都是在 hdfs-site.xml 文件中配置,但这里并不是。另外, excludes 若位于 conf 目录下,dfs.hosts.exclude 指定其绝对路径,竟不管用。这都是坑啊。