org.apache.accumulo.server.master.balancer
Class DefaultLoadBalancer

java.lang.Object
  extended by org.apache.accumulo.server.master.balancer.TabletBalancer
      extended by org.apache.accumulo.server.master.balancer.DefaultLoadBalancer

public class DefaultLoadBalancer
extends TabletBalancer


Field Summary
 
Fields inherited from class org.apache.accumulo.server.master.balancer.TabletBalancer
configuration
 
Constructor Summary
DefaultLoadBalancer()
           
DefaultLoadBalancer(String table)
           
 
Method Summary
 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)
           
 
Methods inherited from class org.apache.accumulo.server.master.balancer.TabletBalancer
checkMigrationSanity, getOnlineTabletsForTable, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultLoadBalancer

public DefaultLoadBalancer()

DefaultLoadBalancer

public DefaultLoadBalancer(String table)
Method Detail

getAssignment

public TServerInstance getAssignment(SortedMap<TServerInstance,TabletServerStatus> locations,
                                     KeyExtent extent,
                                     TServerInstance last)

getMigrations

public boolean getMigrations(Map<TServerInstance,TabletServerStatus> current,
                             List<TabletMigration> result)

getAssignments

public void getAssignments(SortedMap<TServerInstance,TabletServerStatus> current,
                           Map<KeyExtent,TServerInstance> unassigned,
                           Map<KeyExtent,TServerInstance> assignments)
Description copied from class: TabletBalancer
Assign tablets to tablet servers. This method is called whenever the master finds tablets that are unassigned.

Specified by:
getAssignments in class TabletBalancer
Parameters:
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.

balance

public long balance(SortedMap<TServerInstance,TabletServerStatus> current,
                    Set<KeyExtent> migrations,
                    List<TabletMigration> migrationsOut)
Description copied from class: TabletBalancer
Ask the balancer if any migrations are necessary.

Specified by:
balance in class TabletBalancer
Parameters:
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.
Returns:
the time, in milliseconds, to wait before re-balancing. This method will not be called when there are unassigned tablets.


Copyright © 2013 Apache Accumulo Project. All Rights Reserved.