hadoop2.0集群balancer

start-balancer.sh -threshold 5
-threshold 默认设置:10,参数取值范围:0-100,参数含义:判断集群是否平衡的目标参数,每一个 datanode 存储使用率和集群总存储使用率的差值都应该小于这个阀值 ,理论上,该参数设置的越小,整个集群就越平衡,但是在线上环境中,hadoop集群在进行balance时,还在并发的进行数据的写入和删除,所以有可能无法到达设定的平衡参数值。
stop-balancer.sh
限制带宽,单位字节
hdfs dfsadmin -setBalancerBandwidth 104857600(100M)

-include
参数含义:要进行均衡的datanode列表
-exclude
参数含义:不想进行均衡的datanode列表

磁盘均衡解决办法

因为hadoop2.x还不能自动对磁盘进行均衡,我们在改节点的hdfs-site.xml中添加了几个参数用来改变数据存储的策略已达到均衡的目的,添加完参数后重启这个节点的datanode即可。

<property> 
 <name>dfs.datanode.fsdataset.volume.choosing.policy</name> 
 <value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value> 
</property> 
<property> 
 <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold</name> 
 <value>10737418240</value> 
</property> 
<property> 
 <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference
fraction</name> 
 <value>0.85f</value> 
</property>

参数解释

dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold 表示的是剩余容量最大的磁盘与最小的磁盘的容量之差(10G默认值)

dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction 表示的是如果当前副本的大小大于lowAvailableVolumes里面所有的磁盘最大的可用空间,那么会存放到highAvailableVolumes里面,除此之外的情况会以85%的概率存放到highAvailableVolumes,15%的概率存放到lowAvailableVolumes。

注意:

这个对于已经存储到磁盘上面的数据是无效的,只针对后续存储的数据有效,对于已经存储的数据使用均衡进行数据转移。

hadoop3.x

DiskBalancer内部提供了许多类别的命令操作,比如下面的查询命令

hdfs diskbalancer -query node.mycluster.com
我们也可以执行相应的plan命令来生成plan计划文件.

hdfs diskbalancer -uri hdfs://mycluster.com -plan node.mycluster.com
然后我们可以用生成好后的json文件进行DiskBalancer的执行

hdfs diskbalancer -execute /system/diskbalancer/nodename.plan.json
当然,如果我们发现我们执行了错误的plan,我们也可以通过cancel命令进行清除:

hdfs diskbalancer -cancel /system/diskbalancer/nodename.plan.json

hdfs diskbalancer -cancel -node
在DiskBalancer中会涉及到比较多的object-json的关系转换,所以你会看到一些带.json后缀的文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值