HBase源码分析4—Region Balance
易于水平拓展是HBase高性能的重要原因之一。但是随着数据分散到不同节点,容易出现数据倾斜的问题,使得整个集群的效率下降。本章详细讨论下HBase中负载均衡的问题。
入口
在HBase源码分析3—HMaster启动过程中提到过,在HMaster启动的最后阶段 finishActiveMasterInitialization 中,HBase会启动一些定时任务,其中就包括负责Region负载均衡的BalanceChore
1 2 3 4 5 |
// HMaster.java line:828 //initialize load balancer this.balancer.setMasterServices(this); this.balancer.setClusterStatus(getClusterStatusWithoutCoprocessor()); this.balancer.initialize(); |
而balancer对象是在