获得集群当前datanode间负载均衡可以使用的带宽,单位为byte,当前为1Mb
hdfs getconf -confKey dfs.datanode.balance.bandwidthPerSec
1048576
改为100Mb
hdfs dfsadmin -setBalancerBandwidth 104857600
集群平衡的条件,datanode间磁盘使用率相差阈值,区间选择:0~100 。默认为10,调整为20,加速平衡过程结束
hdfs balancer -threshold 20 -include bigdata-cmpt-16,bigdata-cmpt-19,bigdata-cmpt-53
最终,创建balancerWithSpeMachines.sh脚本
#!bin/bash
#指定具体的机器进行datanode间数据的负载均衡
hdfs dfsadmin -setBalancerBandwidth 104857600
hdfs balancer -threshold 20 -include bigdata-cmpt-16,bigdata-cmpt-19,bigdata-cmpt-53
开始执行脚本
nohup sh balancerWithSpeMachines.sh > balance.log 2>&1 &