|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.hbase.util.HasThread
org.apache.hadoop.hbase.master.HMaster
@InterfaceAudience.Private public class HMaster
HMaster is the "master server" for HBase. An HBase cluster has one active master. If many masters are started, all compete. Whichever wins goes on to run the cluster. All others park themselves in their constructor until master or cluster shutdown or until the active master loses its lease in zookeeper. Thereafter, all running master jostle to take over master role.
The Master can be asked shutdown the cluster. See shutdown(). In
this case it will tell all regionservers to go down and then wait on them
all reporting in that they are down. This master will then shut itself down.
You can also shutdown just this master. Call stopMaster().
Watcher| Field Summary | |
|---|---|
static String |
MASTER
|
| Constructor Summary | |
|---|---|
HMaster(org.apache.hadoop.conf.Configuration conf)
Initializes the HMaster. |
|
| Methods inherited from class org.apache.hadoop.hbase.util.HasThread |
|---|
getName, getThread, interrupt, isAlive, isInterrupted, join, join, join, setDaemon, setName, setPriority, setUncaughtExceptionHandler, start |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String MASTER
| Constructor Detail |
|---|
public HMaster(org.apache.hadoop.conf.Configuration conf)
throws IOException,
org.apache.zookeeper.KeeperException,
InterruptedException
Remaining steps of initialization occur in run() so that they
run in their own thread rather than within the context of the constructor.
InterruptedException
IOException
org.apache.zookeeper.KeeperException| Method Detail |
|---|
public void run()
run in interface Runnablerun in class HasThreadprotected void startCatalogJanitorChore()
protected void startNamespaceJanitorChore()
public TableDescriptors getTableDescriptors()
getTableDescriptors in interface MasterServicespublic InfoServer getInfoServer()
public org.apache.hadoop.conf.Configuration getConfiguration()
getConfiguration in interface Serverpublic ServerManager getServerManager()
getServerManager in interface MasterServicesServerManager instance.public ExecutorService getExecutorService()
getExecutorService in interface MasterServicesExecutorServicepublic MasterFileSystem getMasterFileSystem()
getMasterFileSystem in interface MasterServicesMasterFileSystem utility class.public ZooKeeperWatcher getZooKeeperWatcher()
public ActiveMasterManager getActiveMasterManager()
public MasterAddressTracker getMasterAddressManager()
public RegionServerStatusProtos.RegionServerStartupResponse regionServerStartup(com.google.protobuf.RpcController controller,
RegionServerStatusProtos.RegionServerStartupRequest request)
throws com.google.protobuf.ServiceException
regionServerStartup in interface RegionServerStatusProtos.RegionServerStatusService.BlockingInterfacecom.google.protobuf.ServiceExceptionprotected RegionServerStatusProtos.RegionServerStartupResponse.Builder createConfigurationSubset()
public RegionServerStatusProtos.GetLastFlushedSequenceIdResponse getLastFlushedSequenceId(com.google.protobuf.RpcController controller,
RegionServerStatusProtos.GetLastFlushedSequenceIdRequest request)
throws com.google.protobuf.ServiceException
getLastFlushedSequenceId in interface RegionServerStatusProtos.RegionServerStatusService.BlockingInterfacecom.google.protobuf.ServiceException
public RegionServerStatusProtos.RegionServerReportResponse regionServerReport(com.google.protobuf.RpcController controller,
RegionServerStatusProtos.RegionServerReportRequest request)
throws com.google.protobuf.ServiceException
regionServerReport in interface RegionServerStatusProtos.RegionServerStatusService.BlockingInterfacecom.google.protobuf.ServiceException
public RegionServerStatusProtos.ReportRSFatalErrorResponse reportRSFatalError(com.google.protobuf.RpcController controller,
RegionServerStatusProtos.ReportRSFatalErrorRequest request)
throws com.google.protobuf.ServiceException
reportRSFatalError in interface RegionServerStatusProtos.RegionServerStatusService.BlockingInterfacecom.google.protobuf.ServiceExceptionpublic boolean isMasterRunning()
public MasterProtos.IsMasterRunningResponse isMasterRunning(com.google.protobuf.RpcController c,
MasterProtos.IsMasterRunningRequest req)
throws com.google.protobuf.ServiceException
isMasterRunning in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.RunCatalogScanResponse runCatalogScan(com.google.protobuf.RpcController c,
MasterProtos.RunCatalogScanRequest req)
throws com.google.protobuf.ServiceException
runCatalogScan in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.EnableCatalogJanitorResponse enableCatalogJanitor(com.google.protobuf.RpcController c,
MasterProtos.EnableCatalogJanitorRequest req)
throws com.google.protobuf.ServiceException
enableCatalogJanitor in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.IsCatalogJanitorEnabledResponse isCatalogJanitorEnabled(com.google.protobuf.RpcController c,
MasterProtos.IsCatalogJanitorEnabledRequest req)
throws com.google.protobuf.ServiceException
isCatalogJanitorEnabled in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public boolean balance()
throws HBaseIOException
HBaseIOException
public MasterProtos.BalanceResponse balance(com.google.protobuf.RpcController c,
MasterProtos.BalanceRequest request)
throws com.google.protobuf.ServiceException
balance in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public boolean switchBalancer(boolean b,
org.apache.hadoop.hbase.master.HMaster.BalanceSwitchMode mode)
throws IOException
b - new balancer switchmode - BalanceSwitchMode
IOException
public boolean synchronousBalanceSwitch(boolean b)
throws IOException
IOException
public boolean balanceSwitch(boolean b)
throws IOException
IOException
public MasterProtos.SetBalancerRunningResponse setBalancerRunning(com.google.protobuf.RpcController controller,
MasterProtos.SetBalancerRunningRequest req)
throws com.google.protobuf.ServiceException
setBalancerRunning in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceExceptionpublic void setCatalogJanitorEnabled(boolean b)
b - If false, the catalog janitor won't do anything.
public MasterProtos.DispatchMergingRegionsResponse dispatchMergingRegions(com.google.protobuf.RpcController controller,
MasterProtos.DispatchMergingRegionsRequest request)
throws com.google.protobuf.ServiceException
dispatchMergingRegions in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public void dispatchMergingRegions(HRegionInfo region_a,
HRegionInfo region_b,
boolean forcible)
throws IOException
MasterServices
dispatchMergingRegions in interface MasterServicesregion_a - region to mergeregion_b - region to mergeforcible - true if do a compulsory merge, otherwise we will only merge
two adjacent regions
IOException
public MasterProtos.MoveRegionResponse moveRegion(com.google.protobuf.RpcController controller,
MasterProtos.MoveRegionRequest req)
throws com.google.protobuf.ServiceException
moveRegion in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public void createTable(HTableDescriptor hTableDescriptor,
byte[][] splitKeys)
throws IOException
MasterServices
createTable in interface MasterServiceshTableDescriptor - The table definitionsplitKeys - Starting row keys for the initial table regions. If null
a single region is created.
IOException
public MasterProtos.CreateTableResponse createTable(com.google.protobuf.RpcController controller,
MasterProtos.CreateTableRequest req)
throws com.google.protobuf.ServiceException
createTable in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public void deleteTable(TableName tableName)
throws IOException
MasterServices
deleteTable in interface MasterServicestableName - The table name
IOException
public MasterProtos.DeleteTableResponse deleteTable(com.google.protobuf.RpcController controller,
MasterProtos.DeleteTableRequest request)
throws com.google.protobuf.ServiceException
deleteTable in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.GetSchemaAlterStatusResponse getSchemaAlterStatus(com.google.protobuf.RpcController controller,
MasterProtos.GetSchemaAlterStatusRequest req)
throws com.google.protobuf.ServiceException
getSchemaAlterStatus in interface MasterProtos.MasterService.BlockingInterfaceIOException
com.google.protobuf.ServiceException
public void addColumn(TableName tableName,
HColumnDescriptor column)
throws IOException
MasterServices
addColumn in interface MasterServicestableName - The table namecolumn - The column definition
IOException
public MasterProtos.AddColumnResponse addColumn(com.google.protobuf.RpcController controller,
MasterProtos.AddColumnRequest req)
throws com.google.protobuf.ServiceException
addColumn in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public void modifyColumn(TableName tableName,
HColumnDescriptor descriptor)
throws IOException
MasterServices
modifyColumn in interface MasterServicestableName - The table namedescriptor - The updated column definition
IOException
public MasterProtos.ModifyColumnResponse modifyColumn(com.google.protobuf.RpcController controller,
MasterProtos.ModifyColumnRequest req)
throws com.google.protobuf.ServiceException
modifyColumn in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public void deleteColumn(TableName tableName,
byte[] columnName)
throws IOException
MasterServices
deleteColumn in interface MasterServicestableName - The table namecolumnName - The column name
IOException
public MasterProtos.DeleteColumnResponse deleteColumn(com.google.protobuf.RpcController controller,
MasterProtos.DeleteColumnRequest req)
throws com.google.protobuf.ServiceException
deleteColumn in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public void enableTable(TableName tableName)
throws IOException
MasterServices
enableTable in interface MasterServicestableName - The table name
IOException
public MasterProtos.EnableTableResponse enableTable(com.google.protobuf.RpcController controller,
MasterProtos.EnableTableRequest request)
throws com.google.protobuf.ServiceException
enableTable in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public void disableTable(TableName tableName)
throws IOException
MasterServices
disableTable in interface MasterServicestableName - The table name
IOException
public MasterProtos.DisableTableResponse disableTable(com.google.protobuf.RpcController controller,
MasterProtos.DisableTableRequest request)
throws com.google.protobuf.ServiceException
disableTable in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public void modifyTable(TableName tableName,
HTableDescriptor descriptor)
throws IOException
MasterServices
modifyTable in interface MasterServicestableName - The table namedescriptor - The updated table descriptor
IOException
public MasterProtos.ModifyTableResponse modifyTable(com.google.protobuf.RpcController controller,
MasterProtos.ModifyTableRequest req)
throws com.google.protobuf.ServiceException
modifyTable in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public void checkTableModifiable(TableName tableName)
throws IOException,
TableNotFoundException,
TableNotDisabledException
MasterServices
checkTableModifiable in interface MasterServicestableName - Name of table to check.
TableNotDisabledException
TableNotFoundException
IOException
public MasterProtos.GetClusterStatusResponse getClusterStatus(com.google.protobuf.RpcController controller,
MasterProtos.GetClusterStatusRequest req)
throws com.google.protobuf.ServiceException
getClusterStatus in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceExceptionpublic ClusterStatus getClusterStatus()
public String getClusterId()
public static String getLoadedCoprocessors()
public long getMasterStartTime()
public long getMasterActiveTime()
public String[] getCoprocessors()
public void abort(String msg,
Throwable t)
abort in interface Abortablepublic ZooKeeperWatcher getZooKeeper()
getZooKeeper in interface Serverpublic MasterCoprocessorHost getCoprocessorHost()
getCoprocessorHost in interface MasterServicesMasterCoprocessorHostpublic ServerName getServerName()
getServerName in interface Serverpublic CatalogTracker getCatalogTracker()
getCatalogTracker in interface Serverpublic AssignmentManager getAssignmentManager()
getAssignmentManager in interface MasterServicesAssignmentManagerpublic TableLockManager getTableLockManager()
getTableLockManager in interface MasterServicesTableLockManagerpublic MemoryBoundedLogMessageBuffer getRegionServerFatalLogBuffer()
public void shutdown()
public MasterProtos.ShutdownResponse shutdown(com.google.protobuf.RpcController controller,
MasterProtos.ShutdownRequest request)
throws com.google.protobuf.ServiceException
shutdown in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceExceptionpublic void stopMaster()
public MasterProtos.StopMasterResponse stopMaster(com.google.protobuf.RpcController controller,
MasterProtos.StopMasterRequest request)
throws com.google.protobuf.ServiceException
stopMaster in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceExceptionpublic void stop(String why)
stop in interface Stoppablepublic boolean isStopped()
isStopped in interface Stoppablepublic boolean isAborted()
isAborted in interface Abortablepublic boolean isActiveMaster()
public boolean isInitialized()
isInitialized in interface MasterServicespublic boolean isServerShutdownHandlerEnabled()
isServerShutdownHandlerEnabled in interface MasterServicespublic boolean isInitializationStartsMetaRegionAssignment()
public MasterProtos.AssignRegionResponse assignRegion(com.google.protobuf.RpcController controller,
MasterProtos.AssignRegionRequest req)
throws com.google.protobuf.ServiceException
assignRegion in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceExceptionpublic void assignRegion(HRegionInfo hri)
public MasterProtos.UnassignRegionResponse unassignRegion(com.google.protobuf.RpcController controller,
MasterProtos.UnassignRegionRequest req)
throws com.google.protobuf.ServiceException
unassignRegion in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.GetTableDescriptorsResponse getTableDescriptors(com.google.protobuf.RpcController controller,
MasterProtos.GetTableDescriptorsRequest req)
throws com.google.protobuf.ServiceException
getTableDescriptors in interface MasterProtos.MasterService.BlockingInterfacecontroller - Unused (set to null).req - GetTableDescriptorsRequest that contains:
- tableNames: requested tables, or if empty, all are requested
com.google.protobuf.ServiceException
public MasterProtos.GetTableNamesResponse getTableNames(com.google.protobuf.RpcController controller,
MasterProtos.GetTableNamesRequest req)
throws com.google.protobuf.ServiceException
getTableNames in interface MasterProtos.MasterService.BlockingInterfacecontroller - Unused (set to null).req - GetTableNamesRequest
com.google.protobuf.ServiceExceptionpublic double getAverageLoad()
public MasterProtos.OfflineRegionResponse offlineRegion(com.google.protobuf.RpcController controller,
MasterProtos.OfflineRegionRequest request)
throws com.google.protobuf.ServiceException
offlineRegion in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceExceptionpublic boolean registerService(com.google.protobuf.Service instance)
MasterServicesService subclass as a master coprocessor endpoint.
Only a single instance may be registered for a given Service subclass (the
instances are keyed on Descriptors.ServiceDescriptor.getFullName().
After the first registration, subsequent calls with the same service name will fail with
a return value of false.
registerService in interface MasterServicesinstance - the Service subclass instance to expose as a coprocessor endpoint
true if the registration was successful, false
otherwise
public ClientProtos.CoprocessorServiceResponse execMasterService(com.google.protobuf.RpcController controller,
ClientProtos.CoprocessorServiceRequest request)
throws com.google.protobuf.ServiceException
execMasterService in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public static HMaster constructMaster(Class<? extends HMaster> masterClass,
org.apache.hadoop.conf.Configuration conf)
masterClass - conf -
public static void main(String[] args)
HMasterCommandLinepublic HFileCleaner getHFileCleaner()
public SnapshotManager getSnapshotManagerForTesting()
public MasterProtos.SnapshotResponse snapshot(com.google.protobuf.RpcController controller,
MasterProtos.SnapshotRequest request)
throws com.google.protobuf.ServiceException
snapshot in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.GetCompletedSnapshotsResponse getCompletedSnapshots(com.google.protobuf.RpcController controller,
MasterProtos.GetCompletedSnapshotsRequest request)
throws com.google.protobuf.ServiceException
getCompletedSnapshots in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.DeleteSnapshotResponse deleteSnapshot(com.google.protobuf.RpcController controller,
MasterProtos.DeleteSnapshotRequest request)
throws com.google.protobuf.ServiceException
deleteSnapshot in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException - wrapping SnapshotDoesNotExistException if specified snapshot did not
exist.
public MasterProtos.IsSnapshotDoneResponse isSnapshotDone(com.google.protobuf.RpcController controller,
MasterProtos.IsSnapshotDoneRequest request)
throws com.google.protobuf.ServiceException
isSnapshotDone in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException - wrapping UnknownSnapshotException if invalid snapshot, or
a wrapped HBaseSnapshotException with progress failure reason.
public MasterProtos.RestoreSnapshotResponse restoreSnapshot(com.google.protobuf.RpcController controller,
MasterProtos.RestoreSnapshotRequest request)
throws com.google.protobuf.ServiceException
If the specified table exists a "Restore" is executed, replacing the table schema and directory data with the content of the snapshot. The table must be disabled, or a UnsupportedOperationException will be thrown.
If the table doesn't exist a "Clone" is executed, a new table is created using the schema at the time of the snapshot, and the content of the snapshot.
The restore/clone operation does not require copying HFiles. Since HFiles are immutable the table can point to and use the same files as the original one.
restoreSnapshot in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.IsRestoreSnapshotDoneResponse isRestoreSnapshotDone(com.google.protobuf.RpcController controller,
MasterProtos.IsRestoreSnapshotDoneRequest request)
throws com.google.protobuf.ServiceException
isRestoreSnapshotDone in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException - if the operation failed.
public MasterProtos.ModifyNamespaceResponse modifyNamespace(com.google.protobuf.RpcController controller,
MasterProtos.ModifyNamespaceRequest request)
throws com.google.protobuf.ServiceException
modifyNamespace in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.CreateNamespaceResponse createNamespace(com.google.protobuf.RpcController controller,
MasterProtos.CreateNamespaceRequest request)
throws com.google.protobuf.ServiceException
createNamespace in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.DeleteNamespaceResponse deleteNamespace(com.google.protobuf.RpcController controller,
MasterProtos.DeleteNamespaceRequest request)
throws com.google.protobuf.ServiceException
deleteNamespace in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.GetNamespaceDescriptorResponse getNamespaceDescriptor(com.google.protobuf.RpcController controller,
MasterProtos.GetNamespaceDescriptorRequest request)
throws com.google.protobuf.ServiceException
getNamespaceDescriptor in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.ListNamespaceDescriptorsResponse listNamespaceDescriptors(com.google.protobuf.RpcController controller,
MasterProtos.ListNamespaceDescriptorsRequest request)
throws com.google.protobuf.ServiceException
listNamespaceDescriptors in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.ListTableDescriptorsByNamespaceResponse listTableDescriptorsByNamespace(com.google.protobuf.RpcController controller,
MasterProtos.ListTableDescriptorsByNamespaceRequest request)
throws com.google.protobuf.ServiceException
listTableDescriptorsByNamespace in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public MasterProtos.ListTableNamesByNamespaceResponse listTableNamesByNamespace(com.google.protobuf.RpcController controller,
MasterProtos.ListTableNamesByNamespaceRequest request)
throws com.google.protobuf.ServiceException
listTableNamesByNamespace in interface MasterProtos.MasterService.BlockingInterfacecom.google.protobuf.ServiceException
public void createNamespace(NamespaceDescriptor descriptor)
throws IOException
MasterServices
createNamespace in interface MasterServicesdescriptor - descriptor which describes the new namespace
IOException
public void modifyNamespace(NamespaceDescriptor descriptor)
throws IOException
MasterServices
modifyNamespace in interface MasterServicesdescriptor - descriptor which updates the existing namespace
IOException
public void deleteNamespace(String name)
throws IOException
MasterServices
deleteNamespace in interface MasterServicesname - namespace name
IOException
public NamespaceDescriptor getNamespaceDescriptor(String name)
throws IOException
MasterServices
getNamespaceDescriptor in interface MasterServicesname - name of namespace descriptor
IOException
public List<NamespaceDescriptor> listNamespaceDescriptors()
throws IOException
MasterServices
listNamespaceDescriptors in interface MasterServicesIOException
public List<HTableDescriptor> listTableDescriptorsByNamespace(String name)
throws IOException
MasterServices
listTableDescriptorsByNamespace in interface MasterServicesname - namespace name
IOException
public List<TableName> listTableNamesByNamespace(String name)
throws IOException
MasterServices
listTableNamesByNamespace in interface MasterServicesname - namespace name
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||