@InterfaceAudience.Public public class MiniHBaseCluster extends HBaseCluster
| Modifier and Type | Field and Description |
|---|---|
LocalHBaseCluster |
hbaseCluster |
conf, initialClusterStatus| Constructor and Description |
|---|
MiniHBaseCluster(org.apache.hadoop.conf.Configuration conf,
int numRegionServers)
Start a MiniHBaseCluster.
|
MiniHBaseCluster(org.apache.hadoop.conf.Configuration conf,
int numMasters,
int numRegionServers)
Start a MiniHBaseCluster.
|
MiniHBaseCluster(org.apache.hadoop.conf.Configuration conf,
int numMasters,
int numRegionServers,
Class<? extends HMaster> masterClass,
Class<? extends MiniHBaseCluster.MiniHBaseClusterRegionServer> regionserverClass)
Start a MiniHBaseCluster.
|
MiniHBaseCluster(org.apache.hadoop.conf.Configuration conf,
int numMasters,
int numAlwaysStandByMasters,
int numRegionServers,
List<Integer> rsPorts,
Class<? extends HMaster> masterClass,
Class<? extends MiniHBaseCluster.MiniHBaseClusterRegionServer> regionserverClass) |
| Modifier and Type | Method and Description |
|---|---|
String |
abortMaster(int serverNumber)
Cause a master to exit without shutting down entire cluster.
|
String |
abortRegionServer(int serverNumber)
Cause a region server to exit doing basic clean up only on its way out.
|
void |
close()
Closes all the resources held open for this cluster.
|
void |
compact(boolean major)
Call flushCache on all regions on all participating regionservers.
|
void |
compact(TableName tableName,
boolean major)
Call flushCache on all regions of the specified table.
|
long |
countServedRegions()
Counts the total numbers of regions being served by the currently online
region servers by asking each how many regions they have.
|
List<HRegion> |
findRegionsForTable(TableName tableName) |
void |
flushcache()
Call flushCache on all regions on all participating regionservers.
|
void |
flushcache(TableName tableName)
Call flushCache on all regions of the specified table.
|
org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface |
getAdminProtocol(ServerName serverName)
Returns an AdminProtocol interface to the regionserver
|
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface |
getClientProtocol(ServerName serverName)
Returns a ClientProtocol interface to the regionserver
|
ClusterMetrics |
getClusterMetrics()
Returns a ClusterMetrics for this HBase cluster.
|
ClusterStatus |
getClusterStatus()
Deprecated.
As of release 2.0.0, this will be removed in HBase 3.0.0
Use
getClusterMetrics() instead. |
org.apache.hadoop.conf.Configuration |
getConfiguration() |
List<JVMClusterUtil.MasterThread> |
getLiveMasterThreads() |
List<JVMClusterUtil.RegionServerThread> |
getLiveRegionServerThreads() |
HMaster |
getMaster()
Returns the current active master, if available.
|
HMaster |
getMaster(int serverNumber)
Returns the master at the specified index, if available.
|
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.BlockingInterface |
getMasterAdminService()
Returns the current active master, if available.
|
protected int |
getMasterIndex(ServerName serverName) |
JVMClusterUtil.MasterThread |
getMasterThread()
Returns the current active master thread, if available.
|
List<JVMClusterUtil.MasterThread> |
getMasterThreads() |
int |
getNumLiveRegionServers() |
List<HRegion> |
getRegions(byte[] tableName) |
List<HRegion> |
getRegions(TableName tableName) |
HRegionServer |
getRegionServer(int serverNumber)
Grab a numbered region server of your choice.
|
HRegionServer |
getRegionServer(ServerName serverName) |
protected int |
getRegionServerIndex(ServerName serverName) |
List<JVMClusterUtil.RegionServerThread> |
getRegionServerThreads() |
ServerName |
getServerHoldingRegion(TableName tn,
byte[] regionName)
Get the ServerName of region server serving the specified region
|
int |
getServerWith(byte[] regionName)
Get the location of the specified region
|
int |
getServerWithMeta() |
boolean |
isKilledRS(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 |
join()
Wait for Mini HBase Cluster to shut down.
|
void |
killAll()
Do a simulated kill all masters and regionservers.
|
void |
killDataNode(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(ServerName serverName)
Kills the master process if this is a distributed cluster, otherwise,
this causes master to exit doing basic clean up only.
|
void |
killNameNode(ServerName serverName)
Kills the namenode process if this is a distributed cluster, otherwise, this causes master to
exit doing basic clean up only.
|
void |
killRegionServer(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(ServerName serverName)
Kills the zookeeper node process if this is a distributed cluster, otherwise,
this causes master to exit doing basic clean up only.
|
JVMClusterUtil.RegionServerThread |
resumeRegionServer(int serverNumber)
Resume the specified region server
|
void |
resumeRegionServer(ServerName serverName)
Resume the region server
|
void |
shutdown()
Shut down the mini HBase cluster
|
void |
startDataNode(ServerName serverName)
Starts a new datanode on the given hostname or if this is a mini/local cluster,
silently logs warning message.
|
JVMClusterUtil.MasterThread |
startMaster()
Starts a master thread running
|
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 |
startNameNode(ServerName serverName)
Starts a new namenode on the given hostname or if this is a mini/local cluster, silently logs
warning message.
|
JVMClusterUtil.RegionServerThread |
startRegionServer()
Starts a region server thread running
|
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.
|
JVMClusterUtil.RegionServerThread |
startRegionServerAndWait(long timeout)
Starts a region server thread and waits until its processed by master.
|
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(ServerName serverName)
Stops the datanode if this is a distributed cluster, otherwise
silently logs warning message.
|
JVMClusterUtil.MasterThread |
stopMaster(int serverNumber)
Shut down the specified master cleanly
|
JVMClusterUtil.MasterThread |
stopMaster(int serverNumber,
boolean shutdownFS)
Shut down the specified master cleanly
|
void |
stopMaster(ServerName serverName)
Stops the given master, by attempting a gradual stop.
|
void |
stopNameNode(ServerName serverName)
Stops the namenode if this is a distributed cluster, otherwise silently logs warning message.
|
JVMClusterUtil.RegionServerThread |
stopRegionServer(int serverNumber)
Shut down the specified region server cleanly
|
JVMClusterUtil.RegionServerThread |
stopRegionServer(int serverNumber,
boolean shutdownFS)
Shut down the specified region server cleanly
|
void |
stopRegionServer(ServerName serverName)
Stops the given region server, by attempting a gradual stop.
|
void |
stopZkNode(ServerName serverName)
Stops the region zookeeper if this is a distributed cluster, otherwise
silently logs warning message.
|
JVMClusterUtil.RegionServerThread |
suspendRegionServer(int serverNumber)
Suspend the specified region server
|
void |
suspendRegionServer(ServerName serverName)
Suspend the region server
|
boolean |
waitForActiveAndReadyMaster(long timeout)
Blocks until there is an active master and that master has completed
initialization.
|
void |
waitForDataNodeToStart(ServerName serverName,
long timeout)
Wait for the specified datanode to join the cluster
|
void |
waitForDataNodeToStop(ServerName serverName,
long timeout)
Wait for the specified datanode to stop the thread / process.
|
void |
waitForMasterToStop(ServerName serverName,
long timeout)
Wait for the specified master to stop the thread / process.
|
void |
waitForNameNodeToStart(ServerName serverName,
long timeout)
Wait for the specified namenode to join the cluster
|
void |
waitForNameNodeToStop(ServerName serverName,
long timeout)
Wait for the specified namenode to stop
|
void |
waitForRegionServerToStop(ServerName serverName,
long timeout)
Wait for the specified region server to stop the thread / process.
|
void |
waitForZkNodeToStart(ServerName serverName,
long timeout)
Wait for the specified zookeeper node to join the cluster
|
void |
waitForZkNodeToStop(ServerName serverName,
long timeout)
Wait for the specified zookeeper node to stop the thread / process.
|
String |
waitOnMaster(int serverNumber)
Wait for the specified master to stop.
|
String |
waitOnRegionServer(int serverNumber)
Wait for the specified region server to stop.
|
void |
waitUntilShutDown()
Wait for HBase Cluster to shut down.
|
getConf, getInitialClusterMetrics, getServerHoldingMeta, isDistributedCluster, restoreClusterMetrics, restoreInitialStatus, setConf, waitForActiveAndReadyMaster, waitForDatanodesRegistered, waitForNamenodeAvailable, waitForRegionServerToStartpublic LocalHBaseCluster hbaseCluster
public MiniHBaseCluster(org.apache.hadoop.conf.Configuration conf, int numRegionServers) throws IOException, InterruptedException
conf - Configuration to be used for clusternumRegionServers - initial number of region servers to start.IOExceptionInterruptedExceptionpublic MiniHBaseCluster(org.apache.hadoop.conf.Configuration conf, int numMasters, int numRegionServers) throws IOException, InterruptedException
conf - Configuration to be used for clusternumMasters - initial number of masters to start.numRegionServers - initial number of region servers to start.IOExceptionInterruptedExceptionpublic MiniHBaseCluster(org.apache.hadoop.conf.Configuration conf, int numMasters, int numRegionServers, Class<? extends HMaster> masterClass, Class<? extends MiniHBaseCluster.MiniHBaseClusterRegionServer> regionserverClass) throws IOException, InterruptedException
conf - Configuration to be used for clusternumMasters - initial number of masters to start.numRegionServers - initial number of region servers to start.IOExceptionInterruptedExceptionpublic MiniHBaseCluster(org.apache.hadoop.conf.Configuration conf, int numMasters, int numAlwaysStandByMasters, int numRegionServers, List<Integer> rsPorts, Class<? extends HMaster> masterClass, Class<? extends MiniHBaseCluster.MiniHBaseClusterRegionServer> regionserverClass) throws IOException, InterruptedException
rsPorts - Ports that RegionServer should use; pass ports if you want to test cluster
restart where for sure the regionservers come up on same address+port (but
just with different startcode); by default mini hbase clusters choose new
arbitrary ports on each cluster start.IOExceptionInterruptedExceptionpublic org.apache.hadoop.conf.Configuration getConfiguration()
public void startRegionServer(String hostname, int port) throws IOException
org.apache.hadoop.hbase.HBaseClusterstartRegionServer in class HBaseClusterhostname - the hostname to start the regionserver onIOException - if something goes wrongpublic void killRegionServer(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterkillRegionServer in class HBaseClusterIOException - if something goes wrongpublic boolean isKilledRS(ServerName serverName)
org.apache.hadoop.hbase.HBaseClusterisKilledRS in class HBaseClusterpublic void stopRegionServer(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterstopRegionServer in class HBaseClusterIOException - if something goes wrongpublic void suspendRegionServer(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClustersuspendRegionServer in class HBaseClusterserverName - the hostname to suspend the regionserver onIOException - if something goes wrongpublic void resumeRegionServer(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterresumeRegionServer in class HBaseClusterserverName - the hostname to resume the regionserver onIOException - if something goes wrongpublic void waitForRegionServerToStop(ServerName serverName, long timeout) throws IOException
org.apache.hadoop.hbase.HBaseClusterwaitForRegionServerToStop in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void startZkNode(String hostname, int port) throws IOException
org.apache.hadoop.hbase.HBaseClusterstartZkNode in class HBaseClusterhostname - the hostname to start the regionserver onIOException - if something goes wrongpublic void killZkNode(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterkillZkNode in class HBaseClusterIOException - if something goes wrongpublic void stopZkNode(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterstopZkNode in class HBaseClusterIOException - if something goes wrongpublic void waitForZkNodeToStart(ServerName serverName, long timeout) throws IOException
org.apache.hadoop.hbase.HBaseClusterwaitForZkNodeToStart in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void waitForZkNodeToStop(ServerName serverName, long timeout) throws IOException
org.apache.hadoop.hbase.HBaseClusterwaitForZkNodeToStop in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void startDataNode(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterstartDataNode in class HBaseClusterIOException - if something goes wrongpublic void killDataNode(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterkillDataNode in class HBaseClusterIOException - if something goes wrongpublic void stopDataNode(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterstopDataNode in class HBaseClusterIOException - if something goes wrongpublic void waitForDataNodeToStart(ServerName serverName, long timeout) throws IOException
org.apache.hadoop.hbase.HBaseClusterwaitForDataNodeToStart in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void waitForDataNodeToStop(ServerName serverName, long timeout) throws IOException
org.apache.hadoop.hbase.HBaseClusterwaitForDataNodeToStop in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void startNameNode(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterstartNameNode in class HBaseClusterIOException - if something goes wrongpublic void killNameNode(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterkillNameNode in class HBaseClusterIOException - if something goes wrongpublic void stopNameNode(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterstopNameNode in class HBaseClusterIOException - if something goes wrongpublic void waitForNameNodeToStart(ServerName serverName, long timeout) throws IOException
org.apache.hadoop.hbase.HBaseClusterwaitForNameNodeToStart in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void waitForNameNodeToStop(ServerName serverName, long timeout) throws IOException
org.apache.hadoop.hbase.HBaseClusterwaitForNameNodeToStop in class HBaseClusterIOException - if something goes wrong or timeout occurspublic void startMaster(String hostname, int port) throws IOException
org.apache.hadoop.hbase.HBaseClusterstartMaster in class HBaseClusterhostname - the hostname to start the master onIOException - if something goes wrongpublic void killMaster(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterkillMaster in class HBaseClusterIOException - if something goes wrongpublic void stopMaster(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClusterstopMaster in class HBaseClusterIOException - if something goes wrongpublic void waitForMasterToStop(ServerName serverName, long timeout) throws IOException
org.apache.hadoop.hbase.HBaseClusterwaitForMasterToStop in class HBaseClusterIOException - if something goes wrong or timeout occurspublic JVMClusterUtil.RegionServerThread startRegionServer() throws IOException
IOExceptionpublic JVMClusterUtil.RegionServerThread startRegionServerAndWait(long timeout) throws IOException
IOExceptionpublic String abortRegionServer(int serverNumber)
serverNumber - Used as index into a list.public JVMClusterUtil.RegionServerThread stopRegionServer(int serverNumber)
serverNumber - Used as index into a list.public JVMClusterUtil.RegionServerThread stopRegionServer(int serverNumber, boolean shutdownFS)
serverNumber - Used as index into a list.shutdownFS - True is we are to shutdown the filesystem as part of this
regionserver's shutdown. Usually we do but you do not want to do this if
you are running multiple regionservers in a test and you shut down one
before end of the test.public JVMClusterUtil.RegionServerThread suspendRegionServer(int serverNumber)
serverNumber - Used as index into a list.public JVMClusterUtil.RegionServerThread resumeRegionServer(int serverNumber)
serverNumber - Used as index into a list.public String waitOnRegionServer(int serverNumber)
serverNumber - public JVMClusterUtil.MasterThread startMaster() throws IOException
IOExceptionpublic org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.BlockingInterface getMasterAdminService()
getMasterAdminService in class HBaseClusterpublic HMaster getMaster()
public JVMClusterUtil.MasterThread getMasterThread()
public HMaster getMaster(int serverNumber)
public String abortMaster(int serverNumber)
serverNumber - Used as index into a list.public JVMClusterUtil.MasterThread stopMaster(int serverNumber)
serverNumber - Used as index into a list.public JVMClusterUtil.MasterThread stopMaster(int serverNumber, boolean shutdownFS)
serverNumber - Used as index into a list.shutdownFS - True is we are to shutdown the filesystem as part of this
master's shutdown. Usually we do but you do not want to do this if
you are running multiple master in a test and you shut down one
before end of the test.public String waitOnMaster(int serverNumber)
serverNumber - public boolean waitForActiveAndReadyMaster(long timeout) throws IOException
waitForActiveAndReadyMaster in class HBaseClustertimeout - the timeout limit in msInterruptedExceptionIOExceptionpublic List<JVMClusterUtil.MasterThread> getMasterThreads()
public List<JVMClusterUtil.MasterThread> getLiveMasterThreads()
public void join()
public void shutdown() throws IOException
shutdown in class HBaseClusterIOExceptionpublic void close() throws IOException
org.apache.hadoop.hbase.HBaseClusterclose in interface Closeableclose in interface AutoCloseableclose in class HBaseClusterIOExceptionHBaseCluster.shutdown()@Deprecated public ClusterStatus getClusterStatus() throws IOException
getClusterMetrics() instead.IOExceptionpublic ClusterMetrics getClusterMetrics() throws IOException
org.apache.hadoop.hbase.HBaseClustergetClusterMetrics in class HBaseClusterIOExceptionHBaseCluster.getInitialClusterMetrics()public void flushcache() throws IOException
IOExceptionpublic void flushcache(TableName tableName) throws IOException
IOExceptionpublic void compact(boolean major) throws IOException
IOExceptionpublic void compact(TableName tableName, boolean major) throws IOException
IOExceptionpublic int getNumLiveRegionServers()
public List<JVMClusterUtil.RegionServerThread> getRegionServerThreads()
public List<JVMClusterUtil.RegionServerThread> getLiveRegionServerThreads()
public HRegionServer getRegionServer(int serverNumber)
serverNumber - public HRegionServer getRegionServer(ServerName serverName)
public List<HRegion> getRegions(byte[] tableName)
public List<HRegion> getRegions(TableName tableName)
public int getServerWithMeta()
getRegionServerThreads()
of HRS carrying regionName. Returns -1 if none found.public int getServerWith(byte[] regionName)
regionName - Name of the region in bytesgetRegionServerThreads()
of HRS carrying hbase:meta. Returns -1 if none found.public ServerName getServerHoldingRegion(TableName tn, byte[] regionName) throws IOException
org.apache.hadoop.hbase.HBaseClustergetServerHoldingRegion in class HBaseClustertn - Table name that has the region.regionName - Name of the region in bytesIOExceptionpublic long countServedRegions()
public void killAll()
public void waitUntilShutDown()
org.apache.hadoop.hbase.HBaseClusterwaitUntilShutDown in class HBaseClusterpublic List<HRegion> findRegionsForTable(TableName tableName)
protected int getRegionServerIndex(ServerName serverName)
protected int getMasterIndex(ServerName serverName)
public org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface getAdminProtocol(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClustergetAdminProtocol in class HBaseClusterIOExceptionpublic org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface getClientProtocol(ServerName serverName) throws IOException
org.apache.hadoop.hbase.HBaseClustergetClientProtocol in class HBaseClusterIOExceptionCopyright © 2007–2021 The Apache Software Foundation. All rights reserved.