org.apache.accumulo.server.master.balancer
public abstract class TabletBalancer extends Object
Modifier and Type | Field and Description |
---|---|
protected ServerConfiguration |
configuration |
Constructor and Description |
---|
TabletBalancer() |
Modifier and Type | Method and Description |
---|---|
abstract long |
balance(SortedMap<TServerInstance,TabletServerStatus> current,
Set<KeyExtent> migrations,
List<TabletMigration> migrationsOut)
Ask the balancer if any migrations are necessary.
|
static List<TabletMigration> |
checkMigrationSanity(Set<TServerInstance> current,
List<TabletMigration> migrations)
Utility to ensure that the migrations from balance() are consistent:
Tablet objects are not null
Source and destination tablet servers are not null and current
|
abstract void |
getAssignments(SortedMap<TServerInstance,TabletServerStatus> current,
Map<KeyExtent,TServerInstance> unassigned,
Map<KeyExtent,TServerInstance> assignments)
Assign tablets to tablet servers.
|
List<TabletStats> |
getOnlineTabletsForTable(TServerInstance tserver,
String tableId)
Fetch the tablets for the given table by asking the tablet server.
|
void |
init(ServerConfiguration conf)
Initialize the TabletBalancer.
|
protected ServerConfiguration configuration
public void init(ServerConfiguration conf)
public abstract void getAssignments(SortedMap<TServerInstance,TabletServerStatus> current, Map<KeyExtent,TServerInstance> unassigned, Map<KeyExtent,TServerInstance> assignments)
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 abstract long balance(SortedMap<TServerInstance,TabletServerStatus> current, Set<KeyExtent> migrations, List<TabletMigration> migrationsOut)
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.public List<TabletStats> getOnlineTabletsForTable(TServerInstance tserver, String tableId) throws ThriftSecurityException, org.apache.thrift.TException
tserver
- The tablet server to ask.tableId
- The table idThriftSecurityException
- tablet server disapproves of your internal System password.org.apache.thrift.TException
- any other problempublic static List<TabletMigration> checkMigrationSanity(Set<TServerInstance> current, List<TabletMigration> migrations)
current
- migrations
- Copyright © 2014 Apache Accumulo Project. All Rights Reserved.