@InterfaceAudience.Private public class RSGroupBasedLoadBalancer extends Object implements RSGroupableBalancer
| Modifier and Type | Field and Description |
|---|---|
static String |
FALLBACK_GROUP_ENABLE_KEY
Set this key to
true to allow region fallback. |
HBASE_RSGROUP_LOADBALANCER_CLASSBOGUS_SERVER_NAME, SYSTEM_TABLES_ON_MASTER, TABLES_ON_MASTER| Constructor and Description |
|---|
RSGroupBasedLoadBalancer()
Used by reflection in
LoadBalancerFactory. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitisMasterCanHostUserRegions, isSystemTablesOnlyOnMaster, isTablesOnMasterpublic static final String FALLBACK_GROUP_ENABLE_KEY
true to allow region fallback. Fallback to the default rsgroup first,
then fallback to any group if no online servers in default rsgroup. Please keep balancer switch
on at the same time, which is relied on to correct misplaced regions@InterfaceAudience.Private public RSGroupBasedLoadBalancer()
LoadBalancerFactory.public org.apache.hadoop.conf.Configuration getConf()
getConf in interface org.apache.hadoop.conf.Configurablepublic void setConf(org.apache.hadoop.conf.Configuration conf)
setConf in interface org.apache.hadoop.conf.Configurablepublic void setClusterMetrics(ClusterMetrics sm)
setClusterMetrics in interface LoadBalancerpublic void setMasterServices(MasterServices masterServices)
setMasterServices in interface LoadBalancerpublic List<RegionPlan> balanceCluster(Map<TableName,Map<ServerName,List<RegionInfo>>> loadOfAllTable) throws IOException
balanceTable(TableName, Map)balanceCluster in interface LoadBalancerIOException@NonNull public Map<ServerName,List<RegionInfo>> roundRobinAssignment(List<RegionInfo> regions, List<ServerName> servers) throws HBaseIOException
roundRobinAssignment in interface LoadBalancerHBaseIOException@NonNull public Map<ServerName,List<RegionInfo>> retainAssignment(Map<RegionInfo,ServerName> regions, List<ServerName> servers) throws HBaseIOException
retainAssignment in interface LoadBalancerHBaseIOExceptionpublic ServerName randomAssignment(RegionInfo region, List<ServerName> servers) throws HBaseIOException
randomAssignment in interface LoadBalancerHBaseIOExceptionpublic void initialize()
throws HBaseIOException
initialize in interface LoadBalancerHBaseIOExceptionpublic boolean isOnline()
public boolean isFallbackEnabled()
public void regionOnline(RegionInfo regionInfo, ServerName sn)
regionOnline in interface LoadBalancerpublic void regionOffline(RegionInfo regionInfo)
regionOffline in interface LoadBalancerpublic void onConfigurationChange(org.apache.hadoop.conf.Configuration conf)
onConfigurationChange in interface ConfigurationObserveronConfigurationChange in interface LoadBalancerpublic void setRsGroupInfoManager(RSGroupInfoManager rsGroupInfoManager)
public void postMasterStartupInitialize()
postMasterStartupInitialize in interface LoadBalancerpublic void updateBalancerStatus(boolean status)
updateBalancerStatus in interface LoadBalancerpublic List<RegionPlan> balanceTable(TableName tableName, Map<ServerName,List<RegionInfo>> loadOfOneTable)
balanceTable in interface LoadBalancerCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.