HBase 负载均衡

HBase有一个特性叫均衡器,默认情况下,均衡器每5分钟执行,通过hbase.balancer.period设置。当均衡器启动时,它将尝试均匀分配region到所有regionserver中。
启动均衡器后,均衡器首先会确定一个region分配计划用于描述region如何移动,然后通过迭代调用unassign()方法开始移动region。
用户可以通过均衡器开关来控制均衡器,使用HBase Shell的balancer_switch或使用balanceSwitch()接口都可以实现。下面通过HBase Shell来尝试开启或关闭均衡器。

hbase(main):016:0> balance_switch status
2 servers, 0 dead, 46.0000 average load

false
0 row(s) in 0.0100 seconds

hbase(main):017:0> balance_switch true
false
0 row(s) in 0.0090 seconds

hbase(main):018:0> balance_switch status
2 servers, 0 dead, 46.0000 average load

true
0 row(s) in 0.0110 seconds

hbase(main):019:0> balance_switch false
false
0 row(s) in 0.0100 seconds

hbase(main):020:0> balance_switch status
2 servers, 0 dead, 46.0000 average load

false
0 row(s) in 0.0080 seconds

当然,除了使用均衡器,用户也可以手动使用move命令和API显式地将region移动到别的regionserver上,这种操作适合于当用户希望将region移到到指定的regionserver上时。

你可能感兴趣的:(大数据,HBase)