[
https://issues.apache.org/jira/browse/HBASE-3373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178588#comment-13178588
]
Zhihong Yu commented on HBASE-3373:
-----------------------------------
The following data structure is introduced:
Map<String, Map<ServerName, List<HRegionInfo>>> tableRegionDistribution
The String key is the name of table. The list holds the regions for the table
on ServerName.
In HMaster.balance(), before calling balancer.balanceCluster(assignments), we
translate (regroup) Map<ServerName, List<HRegionInfo>> returned by
assignmentManager.getAssignments() into Map<String, Map<ServerName,
List<HRegionInfo>>>. Then we iterate over the tables and call
balancer.balanceCluster(assignments) for each table.
Additionally, new HBaseAdmin method can be added to filter tables which don't
need to be balanced.
The ultimate goal is to distribute table regions evenly
> Allow regions of specific table to be load-balanced
> ---------------------------------------------------
>
> Key: HBASE-3373
> URL: https://issues.apache.org/jira/browse/HBASE-3373
> Project: HBase
> Issue Type: Improvement
> Components: master
> Affects Versions: 0.20.6
> Reporter: Ted Yu
> Attachments: 3373.txt, HbaseBalancerTest2.java
>
>
> From our experience, cluster can be well balanced and yet, one table's
> regions may be badly concentrated on few region servers.
> For example, one table has 839 regions (380 regions at time of table
> creation) out of which 202 are on one server.
> It would be desirable for load balancer to distribute regions for specified
> tables evenly across the cluster. Each of such tables has number of regions
> many times the cluster size.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira