@InterfaceAudience.Private public class DistributedHBaseCluster extends HBaseCluster
| Modifier and Type | Class and Description |
|---|---|
private static class |
DistributedHBaseCluster.ServerNameIgnoreStartCodeComparator |
| Modifier and Type | Field and Description |
|---|---|
private org.apache.hadoop.hbase.client.Admin |
admin |
private ClusterManager |
clusterManager |
private org.apache.hadoop.hbase.client.Connection |
connection |
private Set<org.apache.hadoop.hbase.ServerName> |
killedRegionServers
List of RegionServers killed so far.
|
conf, initialClusterStatus, LOG| Constructor and Description |
|---|
DistributedHBaseCluster(org.apache.hadoop.conf.Configuration conf,
ClusterManager clusterManager) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes all the resources held open for this cluster.
|
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface |
getAdminProtocol(org.apache.hadoop.hbase.ServerName serverName)
Returns an AdminProtocol interface to the regionserver
|
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface |
getClientProtocol(org.apache.hadoop.hbase.ServerName serverName)
Returns a ClientProtocol interface to the regionserver
|
ClusterManager |
getClusterManager() |
org.apache.hadoop.hbase.ClusterMetrics |
getClusterMetrics()
Returns a ClusterStatus for this HBase cluster
|
org.apache.hadoop.hbase.ClusterMetrics |
getInitialClusterMetrics()
Returns a ClusterStatus for this HBase cluster as observed at the
starting of the HBaseCluster
|
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.BlockingInterface |
getMasterAdminService()
Returns an
MasterService.BlockingInterface to the active master |
org.apache.hadoop.hbase.ServerName |
getServerHoldingRegion(org.apache.hadoop.hbase.TableName tn,
byte[] regionName)
Get the ServerName of region server serving the specified region
|
boolean |
isDistributedCluster() |
boolean |
isKilledRS(org.apache.hadoop.hbase.ServerName serverName)
Keeping track of killed servers and being able to check if a particular server was killed makes
it possible to do fault tolerance testing for dead servers in a deterministic way.
|
void |
killDataNode(org.apache.hadoop.hbase.ServerName serverName)
Kills the datanode process if this is a distributed cluster, otherwise,
this causes master to exit doing basic clean up only.
|
void |
killMaster(org.apache.hadoop.hbase.ServerName serverName)
Kills the master process if this is a distributed cluster, otherwise,
this causes master to exit doing basic clean up only.
|
void |
killRegionServer(org.apache.hadoop.hbase.ServerName serverName)
Kills the region server process if this is a distributed cluster, otherwise
this causes the region server to exit doing basic clean up only.
|
void |
killZkNode(org.apache.hadoop.hbase.ServerName serverName)
Kills the zookeeper node process if this is a distributed cluster, otherwise,
this causes master to exit doing basic clean up only.
|
protected boolean |
restoreAdmin() |
boolean |
restoreClusterMetrics(org.apache.hadoop.hbase.ClusterMetrics initial)
Restores the cluster to given state if this is a real cluster,
otherwise does nothing.
|
protected boolean |
restoreMasters(org.apache.hadoop.hbase.ClusterMetrics initial,
org.apache.hadoop.hbase.ClusterMetrics current) |
protected boolean |
restoreRegionServers(org.apache.hadoop.hbase.ClusterMetrics initial,
org.apache.hadoop.hbase.ClusterMetrics current) |
void |
setClusterManager(ClusterManager clusterManager) |
void |
shutdown()
Shut down the HBase cluster
|
void |
startDataNode(org.apache.hadoop.hbase.ServerName serverName)
Starts a new datanode on the given hostname or if this is a mini/local cluster,
silently logs warning message.
|
void |
startMaster(String hostname,
int port)
Starts a new master on the given hostname or if this is a mini/local cluster,
starts a master locally.
|
void |
startRegionServer(String hostname,
int port)
Starts a new region server on the given hostname or if this is a mini/local cluster,
starts a region server locally.
|
void |
startZkNode(String hostname,
int port)
Starts a new zookeeper node on the given hostname or if this is a mini/local cluster,
silently logs warning message.
|
void |
stopDataNode(org.apache.hadoop.hbase.ServerName serverName)
Stops the datanode if this is a distributed cluster, otherwise
silently logs warning message.
|
void |
stopMaster(org.apache.hadoop.hbase.ServerName serverName)
Stops the given master, by attempting a gradual stop.
|
void |
stopRegionServer(org.apache.hadoop.hbase.ServerName serverName)
Stops the given region server, by attempting a gradual stop.
|
void |
stopZkNode(org.apache.hadoop.hbase.ServerName serverName)
Stops the region zookeeper if this is a distributed cluster, otherwise
silently logs warning message.
|
boolean |
waitForActiveAndReadyMaster(long timeout)
Blocks until there is an active master and that master has completed
initialization.
|
void |
waitForDataNodeToStart(org.apache.hadoop.hbase.ServerName serverName,
long timeout)
Wait for the specified datanode to join the cluster
|
void |
waitForDataNodeToStop(org.apache.hadoop.hbase.ServerName serverName,
long timeout)
Wait for the specified datanode to stop the thread / process.
|
void |
waitForMasterToStop(org.apache.hadoop.hbase.ServerName serverName,
long timeout)
Wait for the specified master to stop the thread / process.
|
void |
waitForRegionServerToStop(org.apache.hadoop.hbase.ServerName serverName,
long timeout)
Wait for the specified region server to stop the thread / process.
|
private void |
waitForServiceToStart(ClusterManager.ServiceType service,
org.apache.hadoop.hbase.ServerName serverName,
long timeout) |
private void |
waitForServiceToStop(ClusterManager.ServiceType service,
org.apache.hadoop.hbase.ServerName serverName,
long timeout) |
void |
waitForZkNodeToStart(org.apache.hadoop.hbase.ServerName serverName,
long timeout)
Wait for the specified zookeeper node to join the cluster
|
void |
waitForZkNodeToStop(org.apache.hadoop.hbase.ServerName serverName,
long timeout)
Wait for the specified zookeeper node to stop the thread / process.
|
void |
waitUntilShutDown()
Wait for HBase Cluster to shut down.
|
getConf, getServerHoldingMeta, restoreInitialStatus, setConf, waitForActiveAndReadyMaster, waitForDatanodesRegistered, waitForNamenodeAvailable, waitForRegionServerToStartprivate org.apache.hadoop.hbase.client.Admin admin
private final org.apache.hadoop.hbase.client.Connection connection
private ClusterManager clusterManager
private Set<org.apache.hadoop.hbase.ServerName> killedRegionServers
public DistributedHBaseCluster(org.apache.hadoop.conf.Configuration conf, ClusterManager clusterManager) throws IOException
IOExceptionpublic void setClusterManager(ClusterManager clusterManager)
public ClusterManager getClusterManager()
public org.apache.hadoop.hbase.ClusterMetrics getClusterMetrics() throws IOException
getClusterMetrics in class HBaseClusterIOExceptionHBaseCluster.getInitialClusterMetrics()public org.apache.hadoop.hbase.ClusterMetrics getInitialClusterMetrics() throws IOException
HBaseClustergetInitialClusterMetrics in class HBaseClusterIOExceptionpublic void close() throws IOException
HBaseClusterclose in interface Closeableclose in interface AutoCloseableclose in class HBaseClusterIOExceptionHBaseCluster.shutdown()public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface getAdminProtocol(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClustergetAdminProtocol in class HBaseClusterIOExceptionpublic org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface getClientProtocol(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClustergetClientProtocol in class HBaseClusterIOExceptionpublic void startRegionServer(String hostname, int port) throws IOException
HBaseClusterstartRegionServer in class HBaseClusterhostname - the hostname to start the regionserver onIOException - if something goes wrongpublic void killRegionServer(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClusterkillRegionServer in class HBaseClusterIOException - if something goes wrongpublic boolean isKilledRS(org.apache.hadoop.hbase.ServerName serverName)
HBaseClusterisKilledRS in class HBaseClusterpublic void stopRegionServer(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClusterstopRegionServer in class HBaseClusterIOException - if something goes wrongpublic void waitForRegionServerToStop(org.apache.hadoop.hbase.ServerName serverName, long timeout) throws IOException
HBaseClusterwaitForRegionServerToStop in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void startZkNode(String hostname, int port) throws IOException
HBaseClusterstartZkNode in class HBaseClusterhostname - the hostname to start the regionserver onIOException - if something goes wrongpublic void killZkNode(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClusterkillZkNode in class HBaseClusterIOException - if something goes wrongpublic void stopZkNode(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClusterstopZkNode in class HBaseClusterIOException - if something goes wrongpublic void waitForZkNodeToStart(org.apache.hadoop.hbase.ServerName serverName, long timeout) throws IOException
HBaseClusterwaitForZkNodeToStart in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void waitForZkNodeToStop(org.apache.hadoop.hbase.ServerName serverName, long timeout) throws IOException
HBaseClusterwaitForZkNodeToStop in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void startDataNode(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClusterstartDataNode in class HBaseClusterIOException - if something goes wrongpublic void killDataNode(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClusterkillDataNode in class HBaseClusterIOException - if something goes wrongpublic void stopDataNode(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClusterstopDataNode in class HBaseClusterIOException - if something goes wrongpublic void waitForDataNodeToStart(org.apache.hadoop.hbase.ServerName serverName, long timeout) throws IOException
HBaseClusterwaitForDataNodeToStart in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void waitForDataNodeToStop(org.apache.hadoop.hbase.ServerName serverName, long timeout) throws IOException
HBaseClusterwaitForDataNodeToStop in class HBaseClusterIOException - if something goes wrong or timeout occursprivate void waitForServiceToStop(ClusterManager.ServiceType service, org.apache.hadoop.hbase.ServerName serverName, long timeout) throws IOException
IOExceptionprivate void waitForServiceToStart(ClusterManager.ServiceType service, org.apache.hadoop.hbase.ServerName serverName, long timeout) throws IOException
IOExceptionpublic org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.BlockingInterface getMasterAdminService() throws IOException
HBaseClusterMasterService.BlockingInterface to the active mastergetMasterAdminService in class HBaseClusterIOExceptionpublic void startMaster(String hostname, int port) throws IOException
HBaseClusterstartMaster in class HBaseClusterhostname - the hostname to start the master onIOException - if something goes wrongpublic void killMaster(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClusterkillMaster in class HBaseClusterIOException - if something goes wrongpublic void stopMaster(org.apache.hadoop.hbase.ServerName serverName) throws IOException
HBaseClusterstopMaster in class HBaseClusterIOException - if something goes wrongpublic void waitForMasterToStop(org.apache.hadoop.hbase.ServerName serverName, long timeout) throws IOException
HBaseClusterwaitForMasterToStop in class HBaseClusterIOException - if something goes wrong or timeout occurspublic boolean waitForActiveAndReadyMaster(long timeout) throws IOException
HBaseClusterwaitForActiveAndReadyMaster in class HBaseClustertimeout - the timeout limit in msIOExceptionpublic org.apache.hadoop.hbase.ServerName getServerHoldingRegion(org.apache.hadoop.hbase.TableName tn, byte[] regionName) throws IOException
HBaseClustergetServerHoldingRegion in class HBaseClustertn - Table name that has the region.regionName - Name of the region in bytesIOExceptionpublic void waitUntilShutDown()
HBaseClusterwaitUntilShutDown in class HBaseClusterpublic void shutdown() throws IOException
HBaseClustershutdown in class HBaseClusterIOExceptionpublic boolean isDistributedCluster()
isDistributedCluster in class HBaseClusterpublic boolean restoreClusterMetrics(org.apache.hadoop.hbase.ClusterMetrics initial) throws IOException
HBaseClusterrestoreClusterMetrics in class HBaseClusterIOExceptionprotected boolean restoreMasters(org.apache.hadoop.hbase.ClusterMetrics initial, org.apache.hadoop.hbase.ClusterMetrics current)
protected boolean restoreRegionServers(org.apache.hadoop.hbase.ClusterMetrics initial, org.apache.hadoop.hbase.ClusterMetrics current)
protected boolean restoreAdmin() throws IOException
IOExceptionCopyright © 2007–2019 The Apache Software Foundation. All rights reserved.