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上时。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。