Hbase 0.98.3 & 1.1.3 balance理解

本文介绍了HBase 0.98.3和1.1.3版本中的负载均衡机制。在HMaster中,BalancerChore线程会定期检查是否需要进行region的rebalance。默认情况下,StochasticLoadBalancer作为负载均衡器,其balanceCluster()方法会根据region server上的region数量、成本值计算和迭代过程来调整region分布。1.1.3版本中,slop的默认值降低至0.001,使得更容易触发rebalance操作。
摘要由CSDN通过智能技术生成

hbase 版本 0.98.3

HBase 可以根据当前集群的负载以region为单位进行rebalance。在HMaster中,后台会起一个线程定期检查是否需要进行rebalance,线程叫做BalancerChore。线程每隔 hbase.balancer.period会定期执行 master.balance()函数,配置项默认300000毫秒,5分钟。每次balance最多执行

hbase.balancer.max.balancing,如果没有配置,则使用hbase.balancer.period配置项的值。master.balance()首先通过loadBalancerTracker去zk上看是否load balance开启,如果开启,则从AssignmentManager中检查当前是否有region处于in transition状态,如果有,则直接返回。否则将集群的状态给balancer以便后续做决策,HMaster的assignmentManager成员内部维护着一个表在哪些机器上,这些机器上分别有哪些region。对于每张表,都会执行balancer.balanceCluster()方法。HBase中load balance的策略是可插拔的,开发者可以根据自己业务的需求来开发自己的load balance策略。在HBase中,是通过接口LoadBalancer类实现的。具体使用哪个load balance策略由配置项hbase.master.loadbalancer.class决定,默认使用StochasticLoadBalancer。所有的逻辑都在StochasticLoadBalancer这个负载均衡器的 balanceCluster()方法中。

   StochasticLoadBalancer负载均衡器首先会根据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值