HBase balancer原理解析和一些优化方案

Balancer简介

Balancer是HBase非常重要的一个模块,属于Master功能的一部分,主要通过均衡RS上的region分布来规避一些热点问题。集群规模大,用户数量多,业务种类多时,balancer的重要性愈发明显。不及时的balance或未知问题的balance执行中断,都有可能使线上热点问题影响范围变大。社区在2021年,有多个开发者对balancer做了大量优化,这表明balancer的问题在各个公司中都很突出和重要。

Balancer背景

目前balancer主要分两种:SimpleLoadBalancer和StochasticLoadBalancer。

SimpleLoadBalancer保证每个RS的Region个数基本上都相等,确切来说,假设一共有n个RS,第i个RS有Ai个Region,记average=sigma(Ai)/n , 那么这种策略能够保证所有的RS的Region个数都在[floor(average), ceil(average)]之间。这种策略的实现简单,应用广泛。但是,这种策略考虑的因素比较单一, 没有考虑到每台RS的负载压力,数据locality等。

StochasticLoadBalancer考虑因素有多种,以减小代价值为标准,生成Region move的方案。

StochasticLoadBalancer

这是目前各大公司使用最多的balancer算法(RSGroupLoadBalancer底层基于他)。
以计算集群当前状态的代价值为基础,确定是否需要执行balance,以及如何移动regi

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值