Hdfs手动执行Balance
问题发现:
经巡检,服务器中一台节点的hadoop磁盘占用过多,是其它节点的三倍,导致数据严重不均衡。
解决过程:
两种命令:
- hadoop的bin目录下,运行命令start-balancer.sh -threshold 5
- hdfs balancer -threshold 5
两者的执行效果是一样的
参数详解:
-threshold 10 集群平衡的条件,datanode间磁盘使用率相差阈值,区间选择:0~100, Threshold参数为集群是否处于均衡状态设置了一个目标
-policy datanode 默认为datanode,datanode级别的平衡策略
-exclude -f /tmp/ip1.txt 默认为空,指定该部分ip不参与balance, -f:指定输入为文件
-include -f /tmp/ip2.txt 默认为空,只允许该部分ip参与balance,-f:指定输入为文件
-idleiterations 5 迭代次数,默认为 5
执行完成后,当前节点恢复正常,数据被分配到了其他节点:
好久不写了,还是拿出一些之前的一些记录整理了一下,比较简单,以供参考!