Class TableLoadBalancer
- java.lang.Object
-
- org.apache.accumulo.core.spi.balancer.TableLoadBalancer
-
- All Implemented Interfaces:
TabletBalancer
- Direct Known Subclasses:
HostRegexTableLoadBalancer
public class TableLoadBalancer extends Object implements TabletBalancer
- Since:
- 2.1.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.accumulo.core.spi.balancer.TabletBalancer
TabletBalancer.AssignmentParameters, TabletBalancer.BalanceParameters
-
-
Field Summary
Fields Modifier and Type Field Description protected BalancerEnvironment
environment
-
Constructor Summary
Constructors Constructor Description TableLoadBalancer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
balance(TabletBalancer.BalanceParameters params)
Ask the balancer if any migrations are necessary.void
getAssignments(TabletBalancer.AssignmentParameters params)
Assign tablets to tablet servers.protected TabletBalancer
getBalancerForTable(TableId tableId)
protected String
getLoadBalancerClassNameForTable(TableId table)
void
init(BalancerEnvironment balancerEnvironment)
Initialize the TabletBalancer.
-
-
-
Field Detail
-
environment
protected BalancerEnvironment environment
-
-
Method Detail
-
init
public void init(BalancerEnvironment balancerEnvironment)
Description copied from interface:TabletBalancer
Initialize the TabletBalancer. This gives the balancer the opportunity to read the configuration.- Specified by:
init
in interfaceTabletBalancer
-
getBalancerForTable
protected TabletBalancer getBalancerForTable(TableId tableId)
-
getAssignments
public void getAssignments(TabletBalancer.AssignmentParameters params)
Description copied from interface:TabletBalancer
Assign tablets to tablet servers. This method is called whenever the manager finds tablets that are unassigned.- Specified by:
getAssignments
in interfaceTabletBalancer
-
balance
public long balance(TabletBalancer.BalanceParameters params)
Description copied from interface:TabletBalancer
Ask the balancer if any migrations are necessary. If the balancer is going to self-abort due to some environmental constraint (e.g. it requires some minimum number of tservers, or a maximum number of outstanding migrations), it should issue a log message to alert operators. The message should be at WARN normally and at ERROR if the balancer knows that the problem can not self correct. It should not issue these messages more than once a minute. This method will not be called when there are unassigned tablets.- Specified by:
balance
in interfaceTabletBalancer
- Returns:
- the time, in milliseconds, to wait before re-balancing.
-
-