protected static class BaseLoadBalancer.Cluster
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
BaseLoadBalancer.Cluster.Action
An action to move or swap a region
|
static class |
BaseLoadBalancer.Cluster.AssignRegionAction |
static class |
BaseLoadBalancer.Cluster.MoveRegionAction |
static class |
BaseLoadBalancer.Cluster.SwapRegionsAction |
Modifier and Type | Field and Description |
---|---|
static BaseLoadBalancer.Cluster.Action |
NullAction |
protected RackManager |
rackManager |
Modifier | Constructor and Description |
---|---|
protected |
Cluster(java.util.Collection<RegionInfo> unassignedRegions,
java.util.Map<ServerName,java.util.List<RegionInfo>> clusterState,
java.util.Map<java.lang.String,java.util.Deque<org.apache.hadoop.hbase.master.balancer.BalancerRegionLoad>> loads,
org.apache.hadoop.hbase.master.balancer.RegionLocationFinder regionFinder,
RackManager rackManager) |
protected |
Cluster(java.util.Map<ServerName,java.util.List<RegionInfo>> clusterState,
java.util.Map<java.lang.String,java.util.Deque<org.apache.hadoop.hbase.master.balancer.BalancerRegionLoad>> loads,
org.apache.hadoop.hbase.master.balancer.RegionLocationFinder regionFinder,
RackManager rackManager) |
Modifier and Type | Method and Description |
---|---|
void |
doAction(BaseLoadBalancer.Cluster.Action action) |
float |
getOrComputeLocality(int region,
int entity,
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.LocalityType type)
Looks up locality from cache of localities.
|
float[][] |
getOrComputeRackLocalities()
Retrieves and lazily initializes a field storing the locality of
every region/server combination
|
int[] |
getOrComputeRegionsToMostLocalEntities(org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.LocalityType type)
Lazily initializes and retrieves a mapping of region -> server for which region has
the highest the locality
|
double |
getOrComputeWeightedLocality(int region,
int server,
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.LocalityType type)
Returns locality weighted by region size in MB.
|
int |
getRackForRegion(int region)
Maps region index to rack index
|
int |
getRegionSizeMB(int region)
Returns the size in MB from the most recent RegionLoad for region
|
boolean |
serverHasTooFewRegions(int server)
Returns true iff a given server has less regions than the balanced amount
|
protected void |
setNumMovedRegions(int numMovedRegions) |
protected void |
setNumRegions(int numRegions) |
java.lang.String |
toString() |
protected final RackManager rackManager
public static final BaseLoadBalancer.Cluster.Action NullAction
protected Cluster(java.util.Map<ServerName,java.util.List<RegionInfo>> clusterState, java.util.Map<java.lang.String,java.util.Deque<org.apache.hadoop.hbase.master.balancer.BalancerRegionLoad>> loads, org.apache.hadoop.hbase.master.balancer.RegionLocationFinder regionFinder, RackManager rackManager)
protected Cluster(java.util.Collection<RegionInfo> unassignedRegions, java.util.Map<ServerName,java.util.List<RegionInfo>> clusterState, java.util.Map<java.lang.String,java.util.Deque<org.apache.hadoop.hbase.master.balancer.BalancerRegionLoad>> loads, org.apache.hadoop.hbase.master.balancer.RegionLocationFinder regionFinder, RackManager rackManager)
public boolean serverHasTooFewRegions(int server)
public float[][] getOrComputeRackLocalities()
public int[] getOrComputeRegionsToMostLocalEntities(org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.LocalityType type)
public float getOrComputeLocality(int region, int entity, org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.LocalityType type)
public double getOrComputeWeightedLocality(int region, int server, org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.LocalityType type)
public int getRegionSizeMB(int region)
public int getRackForRegion(int region)
public void doAction(BaseLoadBalancer.Cluster.Action action)
protected void setNumRegions(int numRegions)
protected void setNumMovedRegions(int numMovedRegions)
public java.lang.String toString()
toString
in class java.lang.Object