Hdfs存储负载均衡

环境:cdh5.8

生产环境中,随着数据量的增长,集群进行了扩容,新增节点数据较少。平衡配置还是比较合理的,但是好像一直没有按照配置来,现在是一个1.8的盘,2个3.6的盘。现在1.8使用满了,3.6的使用2.5。

在配置界面搜索“平衡”
重新平衡阈值 :2
重新平衡策略
     Balancer Default Group
     DataNodeBlockPool
DataNode 平衡带宽 dfs.balance.bandwidthPerSec, dfs.datanode.balance.bandwidthPerSec :10M
可用空间策略平衡的阈值 dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold : 10G,仅用于“DataNode 卷选择策略”被设置为“可用空间”时。用于控制在 DataNode 卷在被视为失去平衡之前允许 DataNode 卷在可用磁盘空间的字节数方面存在的差异大小。如果所有卷的可用空间都在彼此的该范围内,这些卷将被视为是平衡的,并将按照完全循环的方式完成块分配。
可用空间策略平衡的首选项 dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction:0.75

当时只看了这几个配置,后来发现还需要设置“DataNode 卷选择策略”这个策略默认是轮询的,所有1.8会用满
解决办法:设定这个属性
 <property>
    <name>dfs.datanode.fsdataset.volume.choosing.policy</name>
    <value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>
  </property>
最后在hdfs管理界面点“操作”-->“重新平衡”即可。(备注:hdfs要安装“Balancer”)

附加:上述东西是做datanode之间的数据均衡,datanode内多个磁盘之间的数据均衡需要另外的配置来做:

1.设置dfs.disk.balancer.enabled 为true 
2.hdfs diskbalancer -plan node1(需要均衡的机器) 会生成一个*.plan.json的文件.磁盘平衡执行计划生成的文件内容格式是Json的,并且存储在HDFS之上。在默认情况下,这些文件是存储在 /system/diskbalancer 目录下面
3.hdfs diskbalancer -execute /system/diskbalancer/2017-Jul-17-13-30-27/node1.plan.json
4.hdfs diskbalancer -query node1
DONE的时候表示已经执行完毕

 参考:http://www.bkjia.com/yjs/891991.html hadoop2.0的datanode多目录数据副本存放策略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HDFSDataNode节点之间的数据不均衡指的是在HDFS集群中,不同的DataNode节点存储数据量不一致。这可能导致某些节点负载过重,而其他节点负载较轻。 导致数据不均衡的主要原因有以下几点: 1. 初始复制:当数据进入HDFS时,会将其初始复制到不同的DataNode节点。由于网络延迟或节点性能差异等原因,可能导致某些节点复制的数据过多,而其他节点复制的数据较少。 2. 数据块移动:当节点故障或离线时,HDFS会将其上存储数据块移动到其他健康的节点上。这个过程可能导致一些节点存储数据块数量过多,而其他节点数据块较少。 为了解决数据不均衡的问题,HDFS采取了一些策略: 1. 副本平衡HDFS会定期检查集群中各个节点上的数据块数量,并采取副本平衡的措施。这意味着将数据块从负载过重的节点移动到负载较轻的节点上,以实现数据均衡。 2. 块调度:HDFS的块调度器会根据各个节点上的剩余存储空间以及网络带宽等因素,决定将新的数据块复制到哪些节点上,以实现负载均衡。 3. HDFS管理员操作:HDFS管理员可以手动干预,将一些数据块从负载过重的节点移动到其他节点上,以实现数据均衡。 综上所述,数据不均衡是HDFS集群中的一个常见问题。通过副本平衡、块调度和管理员操作等策略HDFS可以实现数据的均衡分布,提高数据的可靠性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunyang098

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值