@InterfaceAudience.Private public interface LoadBalancer extends org.apache.hadoop.conf.Configurable, Stoppable, ConfigurationObserver
Cluster-wide load balancing will occur only when there are no regions in
 transition and according to a fixed period of a time using balanceCluster(Map).
 
Inline region placement with immediateAssignment(java.util.List<org.apache.hadoop.hbase.HRegionInfo>, java.util.List<org.apache.hadoop.hbase.ServerName>) can be used when
 the Master needs to handle closed regions that it currently does not have
 a destination set for.  This can happen during master failover.
 
On cluster startup, bulk assignment can be used to determine locations for all Regions in a cluster.
This classes produces plans for the AssignmentManager to execute.
| Modifier and Type | Method and Description | 
|---|---|
| List<RegionPlan> | balanceCluster(Map<ServerName,List<HRegionInfo>> clusterState)Perform the major balance operation | 
| Map<HRegionInfo,ServerName> | immediateAssignment(List<HRegionInfo> regions,
                   List<ServerName> servers)Sync assign a region | 
| void | initialize()Initialize the load balancer. | 
| void | onConfigurationChange(org.apache.hadoop.conf.Configuration conf)This method would be called by the  ConfigurationManagerobject when theConfigurationobject is reloaded from disk. | 
| ServerName | randomAssignment(HRegionInfo regionInfo,
                List<ServerName> servers)Get a random region server from the list | 
| void | regionOffline(HRegionInfo regionInfo)Marks the region as offline at balancer. | 
| void | regionOnline(HRegionInfo regionInfo,
            ServerName sn)Marks the region as online at balancer. | 
| Map<ServerName,List<HRegionInfo>> | retainAssignment(Map<HRegionInfo,ServerName> regions,
                List<ServerName> servers)Assign regions to the previously hosting region server | 
| Map<ServerName,List<HRegionInfo>> | roundRobinAssignment(List<HRegionInfo> regions,
                    List<ServerName> servers)Perform a Round Robin assignment of regions. | 
| void | setClusterStatus(ClusterStatus st)Set the current cluster status. | 
| void | setMasterServices(MasterServices masterServices)Set the master service. | 
void setClusterStatus(ClusterStatus st)
st - void setMasterServices(MasterServices masterServices)
masterServices - List<RegionPlan> balanceCluster(Map<ServerName,List<HRegionInfo>> clusterState) throws HBaseIOException
clusterState - HBaseIOExceptionMap<ServerName,List<HRegionInfo>> roundRobinAssignment(List<HRegionInfo> regions, List<ServerName> servers) throws HBaseIOException
regions - servers - HBaseIOExceptionMap<ServerName,List<HRegionInfo>> retainAssignment(Map<HRegionInfo,ServerName> regions, List<ServerName> servers) throws HBaseIOException
regions - servers - HBaseIOExceptionMap<HRegionInfo,ServerName> immediateAssignment(List<HRegionInfo> regions, List<ServerName> servers) throws HBaseIOException
regions - servers - HBaseIOExceptionServerName randomAssignment(HRegionInfo regionInfo, List<ServerName> servers) throws HBaseIOException
regionInfo - Region for which this selection is being done.servers - HBaseIOExceptionvoid initialize()
                throws HBaseIOException
HBaseIOExceptionvoid regionOnline(HRegionInfo regionInfo, ServerName sn)
regionInfo - sn - void regionOffline(HRegionInfo regionInfo)
regionInfo - void onConfigurationChange(org.apache.hadoop.conf.Configuration conf)
ConfigurationObserverConfigurationManager
 object when the Configuration object is reloaded from disk.onConfigurationChange in interface ConfigurationObserverCopyright © 2007-2016 The Apache Software Foundation. All Rights Reserved.