Chengxiang Li created HBASE-10075:
-------------------------------------
Summary: add a locality-aware balancer
Key: HBASE-10075
URL: https://issues.apache.org/jira/browse/HBASE-10075
Project: HBase
Issue Type: New Feature
Components: Balancer
Affects Versions: 0.94.12
Reporter: Chengxiang Li
basic idea:
during rebalance. For each region server, iterate regions, give each region a
balance score, remove the lowest one until the region number of region server
reach avg floor.
during assignment. match to-be-assigned regions with each active region server
as pairs, give each pair a balance score, the highest win this region.
here is the mark formula:
(1 – tableRegionNumberOnServer/allTableRegionNumber) * tableBalancerWeight
+ (1 – regionNumberOnServer/allRegionNumber) * serverBalancerWeight +
regionBlockSizeOnServer/regionBlockSize * localityWeight
+ (previousServer?1:0) * stickinessWeight
there are 4 factors which would influence the final balance score:
1. region balance
2. table region balance
3. region locality
4. region stickiness
through adjust the weight of these 4 factors, we can balance the cluster in
different strategy.
--
This message was sent by Atlassian JIRA
(v6.1#6144)