HDFS执行balance报错:hdfs balance java.io.IOException: Another Balancer is running.. Exiting


现象:
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.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata/</value>
</property>
-------修改为
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata</value>
</property>

再次执行 hdfs balancer,正常


balancer命令:
hadoop/sbin/start-balancer.sh -threshold 5

bug描述:
https://issues.apache.org/jira/browse/HDFS-8897
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值