1、大数据Hadoop集群,HDFS扩容后,为了使各节点数据均衡,执行balance操作。
2、启动 hdfs balance 时,一直出现其他的balance在执行中,其实并没有执行。
java.io.IOException: Another Balancer is running… Exiting …
解决方法:网上的思路:
①HDFS在运行Balancer的时候,会将运行Balancer的主机名写入到balancer.id这个文件里面, 通过这个Mark File来检测Balancer是否运行,该文件存放在HDFS上的/system目录下。 ②查看/system目录下的balancer.id文件内容,内容为空,确实没有正在运行Balancer的主机。 hdfs dfs -cat /system/balancer.id 上述命令没有内容输出。 ③删除balancer.id这个文件 ④重新执行Balancer命令,可以正常执行数据均衡操作如果没有balancer.id这个文件:
这是Hadoop的一个已知bug:
修改当前执行命令节点core_site.xml 的配置fs.defaultFS,去掉最后的 / 。 --core_site.xmlbalancer命令:-------修改为 fs.defaultFS hdfs://bigdata/ 再次执行 hdfs balancer,正常 fs.defaultFS hdfs://bigdata
hadoop/sbin/start-balancer.sh -threshold 5bug描述:
https://issues.apache.org/jira/browse/HDFS-8897



