赞
踩
HDFS数据可能并不总是在DataNode之间均匀分布。一个常见的原因是向现有群集中添加了新的DataNode。HDFS提供了一个Balancer程序,分析block放置信息并且在整个DataNode节点之间平衡数据,直到被视为平衡为止。
所谓的平衡指的是每个DataNode的利用率(节点上已用空间与节点总容量之比)与集群的利用率(集群上已用空间与集群总容量的比)相差不超过给定阈值百分比。 平衡器无法在单个DataNode上的各个卷之间进行平衡。
-threshold 10 //集群平衡的条件,datanode间磁盘使用率相差阈值,区间选择:0~100
-policy datanode //平衡策略,默认为datanode, 如果datanode平衡,则集群已平衡。
-exclude -f /tmp/ip1.txt //默认为空,指定该部分ip不参与balance, -f:指定输入为文件
-include -f /tmp/ip2.txt //默认为空,只允许该部分ip参与balance,-f:指定输入为文件
-idleiterations 5 //迭代 5
命令:**hdfs dfsadmin -setBalancerBandwidth newbandwidth**
其中newbandwidth是每个DataNode在平衡操作期间可以使用的最大网络带宽量,以每秒字节数为单位。
比如:hdfs dfsadmin -setBalancerBandwidth 104857600
命令:hdfs balancer
此时将会以默认参数进行数据块的平衡操作。
命令:hdfs balancer -threshold 5
ncer
命令:hdfs balancer -threshold 5
Balancer将以阈值5%运行(默认值10%),这意味着程序将确保每个DataNode上的磁盘使用量与群集中的总体使用量相差不超过5%。例如,如果集群中所有DataNode的总体使用率是集群磁盘总存储容量的40%,则程序将确保每个DataNode的磁盘使用率在该DataNode磁盘存储容量的35%至45%之间。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。