public class DefaultLoadBalancer extends TabletBalancer
TabletBalancer.BalancerProblem, TabletBalancer.NoTservers, TabletBalancer.OutstandingMigrations
Modifier and Type | Field and Description |
---|---|
protected TabletBalancer.OutstandingMigrations |
outstandingMigrations |
configuration, context, TIME_BETWEEN_BALANCER_WARNINGS
Constructor and Description |
---|
DefaultLoadBalancer() |
DefaultLoadBalancer(String table) |
Modifier and Type | Method and Description |
---|---|
long |
balance(SortedMap<TServerInstance,TabletServerStatus> current,
Set<KeyExtent> migrations,
List<TabletMigration> migrationsOut)
Ask the balancer if any migrations are necessary.
|
TServerInstance |
getAssignment(SortedMap<TServerInstance,TabletServerStatus> locations,
KeyExtent extent,
TServerInstance last) |
void |
getAssignments(SortedMap<TServerInstance,TabletServerStatus> current,
Map<KeyExtent,TServerInstance> unassigned,
Map<KeyExtent,TServerInstance> assignments)
Assign tablets to tablet servers.
|
boolean |
getMigrations(Map<TServerInstance,TabletServerStatus> current,
List<TabletMigration> result) |
checkMigrationSanity, constraintNotMet, getOnlineTabletsForTable, init, init, resetBalancerErrors
protected final TabletBalancer.OutstandingMigrations outstandingMigrations
public DefaultLoadBalancer()
public DefaultLoadBalancer(String table)
public TServerInstance getAssignment(SortedMap<TServerInstance,TabletServerStatus> locations, KeyExtent extent, TServerInstance last)
public boolean getMigrations(Map<TServerInstance,TabletServerStatus> current, List<TabletMigration> result)
public void getAssignments(SortedMap<TServerInstance,TabletServerStatus> current, Map<KeyExtent,TServerInstance> unassigned, Map<KeyExtent,TServerInstance> assignments)
TabletBalancer
getAssignments
in class TabletBalancer
current
- The current table-summary state of all the online tablet servers. Read-only. The TabletServerStatus for each server may be null if the tablet
server has not yet responded to a recent request for status.unassigned
- A map from unassigned tablet to the last known tablet server. Read-only.assignments
- A map from tablet to assigned server. Write-only.public long balance(SortedMap<TServerInstance,TabletServerStatus> current, Set<KeyExtent> migrations, List<TabletMigration> migrationsOut)
TabletBalancer
balance
in class TabletBalancer
current
- The current table-summary state of all the online tablet servers. Read-only.migrations
- the current set of migrations. Read-only.migrationsOut
- new migrations to perform; should not contain tablets in the current set of migrations. Write-only.Copyright © 2011–2018 The Apache Software Foundation. All rights reserved.