@InterfaceAudience.Private @InterfaceStability.Evolving public class HBaseAdmin extends java.lang.Object implements Admin
Connection.getAdmin() to obtain an instance of Admin instead of constructing
an HBaseAdmin directly.
Connection should be an unmanaged connection obtained via
ConnectionFactory.createConnection(Configuration)
ConnectionFactory,
Connection,
Admin| Modifier and Type | Class and Description |
|---|---|
protected static class |
HBaseAdmin.ProcedureFuture<V>
Future that waits on a procedure result.
|
static class |
HBaseAdmin.TableBackupFuture |
protected static class |
HBaseAdmin.TableFuture<V> |
Admin.CompactType, Admin.MasterSwitchType| Constructor and Description |
|---|
HBaseAdmin(Configuration c)
Deprecated.
Constructing HBaseAdmin objects manually has been deprecated.
Use
Connection.getAdmin() to obtain an instance of Admin instead. |
| Modifier and Type | Method and Description |
|---|---|
void |
abort(java.lang.String why,
java.lang.Throwable e)
Abort the server or client.
|
boolean |
abortProcedure(long procId,
boolean mayInterruptIfRunning)
Abort a procedure
|
java.util.concurrent.Future<java.lang.Boolean> |
abortProcedureAsync(long procId,
boolean mayInterruptIfRunning)
Abort a procedure but does not block and wait for it be completely removed.
|
void |
addColumn(byte[] tableName,
HColumnDescriptor column)
Add a column to an existing table.
|
void |
addColumn(java.lang.String tableName,
HColumnDescriptor column)
Add a column to an existing table.
|
void |
addColumn(TableName tableName,
HColumnDescriptor column)
Add a column to an existing table.
|
void |
assign(byte[] regionName) |
java.lang.String |
backupTables(BackupRequest userRequest) |
boolean |
balancer()
Invoke the balancer.
|
boolean |
balancer(boolean force)
Invoke the balancer.
|
static void |
checkHBaseAvailable(Configuration conf)
Check to see if HBase is running.
|
void |
cloneSnapshot(byte[] snapshotName,
byte[] tableName)
Create a new table by cloning the snapshot content.
|
void |
cloneSnapshot(byte[] snapshotName,
TableName tableName)
Create a new table by cloning the snapshot content.
|
void |
cloneSnapshot(java.lang.String snapshotName,
java.lang.String tableName)
Create a new table by cloning the snapshot content.
|
void |
cloneSnapshot(java.lang.String snapshotName,
TableName tableName)
Create a new table by cloning the snapshot content.
|
void |
cloneSnapshot(java.lang.String snapshotName,
TableName tableName,
boolean restoreAcl)
Create a new table by cloning the snapshot content.
|
void |
close() |
void |
closeRegion(byte[] regionname,
java.lang.String serverName)
Close a region.
|
void |
closeRegion(ServerName sn,
HRegionInfo hri)
Close a region.
|
void |
closeRegion(java.lang.String regionname,
java.lang.String serverName)
Close a region.
|
boolean |
closeRegionWithEncodedRegionName(java.lang.String encodedRegionName,
java.lang.String serverName)
For expert-admins.
|
void |
compact(byte[] tableNameOrRegionName)
Deprecated.
Use
compact(org.apache.hadoop.hbase.TableName) or (byte[]) instead. |
void |
compact(byte[] tableNameOrRegionName,
byte[] columnFamily)
Deprecated.
Use
compact(org.apache.hadoop.hbase.TableName) or (byte[], byte[]) instead. |
void |
compact(java.lang.String tableNameOrRegionName)
Deprecated.
Use
compact(org.apache.hadoop.hbase.TableName) or (byte[]) instead. |
void |
compact(java.lang.String tableOrRegionName,
java.lang.String columnFamily)
Deprecated.
Use
compact(org.apache.hadoop.hbase.TableName) or (byte[], byte[]) instead. |
void |
compact(TableName tableName)
Compact a table.
|
void |
compact(TableName tableName,
Admin.CompactType compactType)
Compact a table.
|
void |
compact(TableName tableName,
byte[] columnFamily)
Compact a column family within a table.
|
void |
compact(TableName tableName,
byte[] columnFamily,
Admin.CompactType compactType)
Compact a column family within a table.
|
void |
compactRegion(byte[] regionName)
Compact an individual region.
|
void |
compactRegion(byte[] regionName,
byte[] columnFamily)
Compact a column family within a region.
|
void |
compactRegionServer(ServerName sn,
boolean major)
Compact all regions on the region server
|
CoprocessorRpcChannel |
coprocessorService()
Creates and returns a
com.google.protobuf.RpcChannel instance
connected to the active master. |
CoprocessorRpcChannel |
coprocessorService(ServerName sn)
Creates and returns a
com.google.protobuf.RpcChannel instance
connected to the passed region server. |
void |
createNamespace(NamespaceDescriptor descriptor)
Create a new namespace
|
void |
createTable(HTableDescriptor desc)
Creates a new table.
|
void |
createTable(HTableDescriptor desc,
byte[][] splitKeys)
Creates a new table with an initial set of empty regions defined by the
specified split keys.
|
void |
createTable(HTableDescriptor desc,
byte[] startKey,
byte[] endKey,
int numRegions)
Creates a new table with the specified number of regions.
|
void |
createTableAsync(HTableDescriptor desc,
byte[][] splitKeys)
Creates a new table but does not block and wait for it to come online.
|
void |
deleteColumn(byte[] tableName,
java.lang.String columnName)
Delete a column from a table.
|
void |
deleteColumn(java.lang.String tableName,
java.lang.String columnName)
Delete a column from a table.
|
void |
deleteColumn(TableName tableName,
byte[] columnName)
Delete a column from a table.
|
void |
deleteNamespace(java.lang.String name)
Delete an existing namespace.
|
void |
deleteSnapshot(byte[] snapshotName)
Delete an existing snapshot.
|
void |
deleteSnapshot(java.lang.String snapshotName)
Delete an existing snapshot.
|
void |
deleteSnapshots(java.util.regex.Pattern pattern)
Delete existing snapshots whose names match the pattern passed.
|
void |
deleteSnapshots(java.lang.String regex)
Delete existing snapshots whose names match the pattern passed.
|
void |
deleteTable(byte[] tableName) |
void |
deleteTable(java.lang.String tableName) |
void |
deleteTable(TableName tableName)
Deletes a table.
|
HTableDescriptor[] |
deleteTables(java.util.regex.Pattern pattern)
Delete tables matching the passed in pattern and wait on completion.
|
HTableDescriptor[] |
deleteTables(java.lang.String regex)
Deletes tables matching the passed in pattern and wait on completion.
|
void |
disableTable(byte[] tableName) |
void |
disableTable(java.lang.String tableName) |
void |
disableTable(TableName tableName)
Disable table and wait on completion.
|
void |
disableTableAsync(byte[] tableName) |
void |
disableTableAsync(java.lang.String tableName) |
void |
disableTableAsync(TableName tableName)
Starts the disable of a table.
|
HTableDescriptor[] |
disableTables(java.util.regex.Pattern pattern)
Disable tables matching the passed in pattern and wait on completion.
|
HTableDescriptor[] |
disableTables(java.lang.String regex)
Disable tables matching the passed in pattern and wait on completion.
|
boolean |
enableCatalogJanitor(boolean enable)
Enable/Disable the catalog janitor
|
void |
enableTable(byte[] tableName) |
void |
enableTable(java.lang.String tableName) |
void |
enableTable(TableName tableName)
Enable a table.
|
void |
enableTableAsync(byte[] tableName) |
void |
enableTableAsync(java.lang.String tableName) |
void |
enableTableAsync(TableName tableName)
Brings a table on-line (enables it).
|
HTableDescriptor[] |
enableTables(java.util.regex.Pattern pattern)
Enable tables matching the passed in pattern and wait on completion.
|
HTableDescriptor[] |
enableTables(java.lang.String regex)
Enable tables matching the passed in pattern and wait on completion.
|
void |
execProcedure(java.lang.String signature,
java.lang.String instance,
java.util.Map<java.lang.String,java.lang.String> props)
Execute a distributed procedure on a cluster.
|
byte[] |
execProcedureWithRet(java.lang.String signature,
java.lang.String instance,
java.util.Map<java.lang.String,java.lang.String> props)
Execute a distributed procedure on a cluster synchronously with return data
|
void |
flush(byte[] tableNameOrRegionName)
Deprecated.
Use
flush(org.apache.hadoop.hbase.TableName) or (byte[]) instead. |
void |
flush(java.lang.String tableNameOrRegionName)
Deprecated.
Use
flush(org.apache.hadoop.hbase.TableName) or (byte[]) instead. |
void |
flush(TableName tableName)
Flush a table.
|
void |
flushRegion(byte[] regionName)
Flush an individual region.
|
Pair<java.lang.Integer,java.lang.Integer> |
getAlterStatus(byte[] tableName)
Get the status of alter command - indicates how many regions have received
the updated schema Asynchronous operation.
|
Pair<java.lang.Integer,java.lang.Integer> |
getAlterStatus(TableName tableName)
Get the status of alter command - indicates how many regions have received
the updated schema Asynchronous operation.
|
BackupAdmin |
getBackupAdmin()
Get Backup Admin interface
|
ClusterStatus |
getClusterStatus() |
AdminProtos.GetRegionInfoResponse.CompactionState |
getCompactionState(byte[] tableNameOrRegionName)
Deprecated.
|
AdminProtos.GetRegionInfoResponse.CompactionState |
getCompactionState(java.lang.String tableNameOrRegionName)
Deprecated.
|
AdminProtos.GetRegionInfoResponse.CompactionState |
getCompactionState(TableName tableName)
Get the current compaction state of a table.
|
AdminProtos.GetRegionInfoResponse.CompactionState |
getCompactionState(TableName tableName,
Admin.CompactType compactType)
Get the current compaction state of a table.
|
AdminProtos.GetRegionInfoResponse.CompactionState |
getCompactionStateForRegion(byte[] regionName)
Get the current compaction state of region.
|
Configuration |
getConfiguration() |
HConnection |
getConnection() |
long |
getLastMajorCompactionTimestamp(TableName tableName)
Get the timestamp of the last major compaction for the passed table
The timestamp of the oldest HFile resulting from a major compaction of that table,
or 0 if no such HFile could be found.
|
long |
getLastMajorCompactionTimestampForRegion(byte[] regionName)
Get the timestamp of the last major compaction for the passed region.
|
java.lang.String[] |
getMasterCoprocessors()
Helper delegage to getClusterStatus().getMasterCoprocessors().
|
int |
getMasterInfoPort()
Get the info port of the current master if one is available.
|
NamespaceDescriptor |
getNamespaceDescriptor(java.lang.String name)
Get a namespace descriptor by name
|
java.util.List<HRegionInfo> |
getOnlineRegions(ServerName sn)
Get all the online regions on a region server.
|
int |
getOperationTimeout() |
static long |
getPauseTime(int tries,
long pause) |
QuotaRetriever |
getQuotaRetriever(QuotaFilter filter)
Return a Quota Scanner to list the quotas based on the filter.
|
HTableDescriptor |
getTableDescriptor(byte[] tableName) |
HTableDescriptor |
getTableDescriptor(TableName tableName)
Method for getting the tableDescriptor
|
HTableDescriptor[] |
getTableDescriptors(java.util.List<java.lang.String> names)
Get tableDescriptors
|
HTableDescriptor[] |
getTableDescriptorsByTableName(java.util.List<TableName> tableNames)
Get tableDescriptors
|
java.lang.String[] |
getTableNames()
Deprecated.
Use
Admin.listTableNames() instead |
java.lang.String[] |
getTableNames(java.util.regex.Pattern pattern)
Deprecated.
Use
Admin.listTableNames(Pattern) instead. |
java.lang.String[] |
getTableNames(java.lang.String regex)
Deprecated.
Use
Admin.listTableNames(Pattern) instead. |
java.util.List<HRegionInfo> |
getTableRegions(byte[] tableName) |
java.util.List<HRegionInfo> |
getTableRegions(TableName tableName)
get the regions of a given table.
|
boolean |
isAborted()
Check if the server or client was aborted.
|
boolean |
isBalancerEnabled()
Query the state of the balancer from the Master.
|
boolean |
isCatalogJanitorEnabled()
Query on the catalog janitor state (Enabled/Disabled?)
|
boolean |
isMasterInMaintenanceMode()
Check whether Master is in maintenance mode
|
boolean |
isMasterRunning()
Deprecated.
this has been deprecated without a replacement
|
boolean |
isNormalizerEnabled()
Query the current state of the region normalizer
|
boolean |
isProcedureFinished(java.lang.String signature,
java.lang.String instance,
java.util.Map<java.lang.String,java.lang.String> props)
Check the current state of the specified procedure.
|
boolean |
isSnapshotFinished(HBaseProtos.SnapshotDescription snapshot)
Check the current state of the passed snapshot.
|
boolean |
isSplitOrMergeEnabled(Admin.MasterSwitchType switchType)
Query the current state of the switch
|
boolean |
isTableAvailable(byte[] tableName) |
boolean |
isTableAvailable(byte[] tableName,
byte[][] splitKeys) |
boolean |
isTableAvailable(java.lang.String tableName) |
boolean |
isTableAvailable(java.lang.String tableName,
byte[][] splitKeys) |
boolean |
isTableAvailable(TableName tableName) |
boolean |
isTableAvailable(TableName tableName,
byte[][] splitKeys)
Use this api to check if the table has been created with the specified number of
splitkeys which was used while creating the given table.
|
boolean |
isTableDisabled(byte[] tableName) |
boolean |
isTableDisabled(java.lang.String tableName) |
boolean |
isTableDisabled(TableName tableName) |
boolean |
isTableEnabled(byte[] tableName) |
boolean |
isTableEnabled(java.lang.String tableName) |
boolean |
isTableEnabled(TableName tableName) |
NamespaceDescriptor[] |
listNamespaceDescriptors()
List available namespace descriptors
|
ProcedureInfo[] |
listProcedures()
List procedures
|
java.util.List<HBaseProtos.SnapshotDescription> |
listSnapshots()
List completed snapshots.
|
java.util.List<HBaseProtos.SnapshotDescription> |
listSnapshots(java.util.regex.Pattern pattern)
List all the completed snapshots matching the given pattern.
|
java.util.List<HBaseProtos.SnapshotDescription> |
listSnapshots(java.lang.String regex)
List all the completed snapshots matching the given regular expression.
|
HTableDescriptor[] |
listTableDescriptorsByNamespace(java.lang.String name)
Get list of table descriptors by namespace
|
TableName[] |
listTableNames()
List all of the names of userspace tables.
|
TableName[] |
listTableNames(java.util.regex.Pattern pattern)
List all of the names of userspace tables.
|
TableName[] |
listTableNames(java.util.regex.Pattern pattern,
boolean includeSysTables)
List all of the names of userspace tables.
|
TableName[] |
listTableNames(java.lang.String regex)
List all of the names of userspace tables.
|
TableName[] |
listTableNames(java.lang.String regex,
boolean includeSysTables)
List all of the names of userspace tables.
|
TableName[] |
listTableNamesByNamespace(java.lang.String name)
Get list of table names by namespace
|
HTableDescriptor[] |
listTables()
List all the userspace tables.
|
HTableDescriptor[] |
listTables(java.util.regex.Pattern pattern)
List all the userspace tables matching the given pattern.
|
HTableDescriptor[] |
listTables(java.util.regex.Pattern pattern,
boolean includeSysTables)
List all the tables matching the given pattern.
|
HTableDescriptor[] |
listTables(java.lang.String regex)
List all the userspace tables matching the given regular expression.
|
HTableDescriptor[] |
listTables(java.lang.String regex,
boolean includeSysTables)
List all the tables matching the given pattern.
|
void |
majorCompact(byte[] tableNameOrRegionName)
Deprecated.
|
void |
majorCompact(byte[] tableNameOrRegionName,
byte[] columnFamily)
Deprecated.
|
void |
majorCompact(java.lang.String tableNameOrRegionName)
Deprecated.
|
void |
majorCompact(java.lang.String tableNameOrRegionName,
java.lang.String columnFamily)
Deprecated.
|
void |
majorCompact(TableName tableName)
Major compact a table.
|
void |
majorCompact(TableName tableName,
Admin.CompactType compactType)
Major compact a table.
|
void |
majorCompact(TableName tableName,
byte[] columnFamily)
Major compact a column family within a table.
|
void |
majorCompact(TableName tableName,
byte[] columnFamily,
Admin.CompactType compactType)
Major compact a column family within a table.
|
void |
majorCompactRegion(byte[] regionName)
Major compact a table or an individual region.
|
void |
majorCompactRegion(byte[] regionName,
byte[] columnFamily)
Major compact a column family within region.
|
void |
mergeRegions(byte[] encodedNameOfRegionA,
byte[] encodedNameOfRegionB,
boolean forcible)
Merge two regions.
|
void |
modifyColumn(byte[] tableName,
HColumnDescriptor descriptor)
Modify an existing column family on a table.
|
void |
modifyColumn(java.lang.String tableName,
HColumnDescriptor descriptor)
Modify an existing column family on a table.
|
void |
modifyColumn(TableName tableName,
HColumnDescriptor descriptor)
Modify an existing column family on a table.
|
void |
modifyNamespace(NamespaceDescriptor descriptor)
Modify an existing namespace
|
void |
modifyTable(byte[] tableName,
HTableDescriptor htd) |
void |
modifyTable(java.lang.String tableName,
HTableDescriptor htd) |
void |
modifyTable(TableName tableName,
HTableDescriptor htd)
Modify an existing table, more IRB friendly version.
|
void |
move(byte[] encodedRegionName,
byte[] destServerName)
Move the region
r to dest. |
boolean |
normalize()
Invoke region normalizer.
|
void |
offline(byte[] regionName)
Offline specified region from master's in-memory state.
|
void |
restoreSnapshot(byte[] snapshotName)
Restore the specified snapshot on the original table.
|
void |
restoreSnapshot(byte[] snapshotName,
boolean takeFailSafeSnapshot)
Restore the specified snapshot on the original table.
|
void |
restoreSnapshot(java.lang.String snapshotName)
Restore the specified snapshot on the original table.
|
void |
restoreSnapshot(java.lang.String snapshotName,
boolean takeFailSafeSnapshot)
Restore the specified snapshot on the original table.
|
void |
restoreSnapshot(java.lang.String snapshotName,
boolean takeFailSafeSnapshot,
boolean restoreAcl)
Restore the specified snapshot on the original table.
|
byte[][] |
rollHLogWriter(java.lang.String serverName)
Deprecated.
|
void |
rollWALWriter(ServerName serverName)
Roll the log writer.
|
int |
runCatalogScan()
Ask for a scan of the catalog table
|
boolean |
setBalancerRunning(boolean on,
boolean synchronous)
Turn the load balancer on or off.
|
boolean |
setNormalizerRunning(boolean on)
Turn region normalizer on or off.
|
void |
setQuota(QuotaSettings quota)
Apply the new quota settings.
|
boolean[] |
setSplitOrMergeEnabled(boolean enabled,
boolean synchronous,
Admin.MasterSwitchType... switchTypes)
Turn the Split or Merge switches on or off.
|
void |
shutdown()
Shuts down the HBase cluster
|
void |
snapshot(byte[] snapshotName,
byte[] tableName) |
void |
snapshot(byte[] snapshotName,
byte[] tableName,
HBaseProtos.SnapshotDescription.Type flushType)
Create snapshot for the given table of given flush type.
|
void |
snapshot(byte[] snapshotName,
TableName tableName)
public void snapshot(final String snapshotName,
Create a timestamp consistent snapshot for the given table.
|
void |
snapshot(HBaseProtos.SnapshotDescription snapshot)
Take a snapshot and wait for the server to complete that snapshot (blocking).
|
void |
snapshot(java.lang.String snapshotName,
byte[] tableName,
HBaseProtos.SnapshotDescription.Type type) |
void |
snapshot(java.lang.String snapshotName,
java.lang.String tableName) |
void |
snapshot(java.lang.String snapshotName,
java.lang.String tableName,
HBaseProtos.SnapshotDescription.Type type) |
void |
snapshot(java.lang.String snapshotName,
TableName tableName)
Take a snapshot for the given table.
|
void |
snapshot(java.lang.String snapshotName,
TableName tableName,
HBaseProtos.SnapshotDescription.Type type)
Create typed snapshot of the table.
|
void |
split(byte[] tableNameOrRegionName)
Deprecated.
Use
split(org.apache.hadoop.hbase.TableName) or (byte[]) instead. |
void |
split(byte[] tableNameOrRegionName,
byte[] splitPoint)
Deprecated.
|
void |
split(ServerName sn,
HRegionInfo hri,
byte[] splitPoint) |
void |
split(java.lang.String tableNameOrRegionName)
Deprecated.
Use
split(org.apache.hadoop.hbase.TableName) or (byte[]) instead. |
void |
split(java.lang.String tableNameOrRegionName,
java.lang.String splitPoint)
Deprecated.
|
void |
split(TableName tableName)
Split a table.
|
void |
split(TableName tableName,
byte[] splitPoint)
Split a table.
|
void |
splitRegion(byte[] regionName)
Split an individual region.
|
void |
splitRegion(byte[] regionName,
byte[] splitPoint)
Split an individual region.
|
void |
stopMaster()
Shuts down the current HBase master only.
|
void |
stopRegionServer(java.lang.String hostnamePort)
Stop the designated regionserver
|
boolean |
tableExists(byte[] tableName) |
boolean |
tableExists(java.lang.String tableName) |
boolean |
tableExists(TableName tableName) |
MasterProtos.SnapshotResponse |
takeSnapshotAsync(HBaseProtos.SnapshotDescription snapshot)
Take a snapshot without waiting for the server to complete that snapshot (asynchronous)
|
void |
truncateTable(TableName tableName,
boolean preserveSplits)
Truncate a table.
|
void |
unassign(byte[] regionName,
boolean force)
Unassign a region from current hosting regionserver.
|
void |
updateConfiguration()
Update the configuration and trigger an online config change
on all the regionservers
|
void |
updateConfiguration(ServerName server)
Update the configuration and trigger an online config change
on the regionserver
|
void |
waitForSnapshot(HBaseProtos.SnapshotDescription snapshot,
long max,
HConnection conn) |
@Deprecated
public HBaseAdmin(Configuration c)
throws MasterNotRunningException,
ZooKeeperConnectionException,
java.io.IOException
Connection.getAdmin() to obtain an instance of Admin instead.#HBaseAdmin(Connection connection)c - Configuration object. Copied internally.MasterNotRunningExceptionZooKeeperConnectionExceptionjava.io.IOExceptionpublic int getOperationTimeout()
getOperationTimeout in interface Adminpublic void abort(java.lang.String why,
java.lang.Throwable e)
Abortablepublic boolean isAborted()
Abortablepublic boolean abortProcedure(long procId,
boolean mayInterruptIfRunning)
throws java.io.IOException
abortProcedure in interface AdminprocId - ID of the procedure to abortmayInterruptIfRunning - if the proc completed at least one step, should it be aborted?java.io.IOExceptionpublic java.util.concurrent.Future<java.lang.Boolean> abortProcedureAsync(long procId,
boolean mayInterruptIfRunning)
throws java.io.IOException
abortProcedureAsync in interface AdminprocId - ID of the procedure to abortmayInterruptIfRunning - if the proc completed at least one step, should it be aborted?java.io.IOExceptionpublic HConnection getConnection()
getConnection in interface Admin@Deprecated
public boolean isMasterRunning()
throws MasterNotRunningException,
ZooKeeperConnectionException
ZooKeeperConnectionExceptionMasterNotRunningExceptionpublic boolean tableExists(TableName tableName) throws java.io.IOException
tableExists in interface AdmintableName - Table to check.java.io.IOExceptionpublic boolean tableExists(byte[] tableName)
throws java.io.IOException
java.io.IOExceptionpublic boolean tableExists(java.lang.String tableName)
throws java.io.IOException
java.io.IOExceptionpublic HTableDescriptor[] listTables() throws java.io.IOException
AdminlistTables in interface Adminjava.io.IOException - if a remote or network exception occurspublic HTableDescriptor[] listTables(java.util.regex.Pattern pattern) throws java.io.IOException
AdminlistTables in interface Adminpattern - The compiled regular expression to match againstjava.io.IOException - if a remote or network exception occursAdmin.listTables()public HTableDescriptor[] listTables(java.lang.String regex) throws java.io.IOException
AdminlistTables in interface Adminregex - The regular expression to match againstjava.io.IOException - if a remote or network exception occursAdmin.listTables(java.util.regex.Pattern)public HTableDescriptor[] listTables(java.util.regex.Pattern pattern, boolean includeSysTables) throws java.io.IOException
AdminlistTables in interface Adminpattern - The compiled regular expression to match againstincludeSysTables - False to match only against userspace tablesjava.io.IOException - if a remote or network exception occursAdmin.listTables()public HTableDescriptor[] listTables(java.lang.String regex, boolean includeSysTables) throws java.io.IOException
AdminlistTables in interface Adminregex - The regular expression to match againstincludeSysTables - False to match only against userspace tablesjava.io.IOException - if a remote or network exception occursAdmin.listTables(java.util.regex.Pattern, boolean)@Deprecated
public java.lang.String[] getTableNames()
throws java.io.IOException
Admin.listTableNames() insteadjava.io.IOException - if a remote or network exception occurs@Deprecated
public java.lang.String[] getTableNames(java.util.regex.Pattern pattern)
throws java.io.IOException
Admin.listTableNames(Pattern) instead.pattern - The regular expression to match againstjava.io.IOException - if a remote or network exception occurs@Deprecated
public java.lang.String[] getTableNames(java.lang.String regex)
throws java.io.IOException
Admin.listTableNames(Pattern) instead.regex - The regular expression to match againstjava.io.IOException - if a remote or network exception occurspublic TableName[] listTableNames() throws java.io.IOException
AdminlistTableNames in interface Adminjava.io.IOException - if a remote or network exception occurspublic TableName[] listTableNames(java.util.regex.Pattern pattern) throws java.io.IOException
AdminlistTableNames in interface Adminpattern - The regular expression to match againstjava.io.IOException - if a remote or network exception occurspublic TableName[] listTableNames(java.lang.String regex) throws java.io.IOException
AdminlistTableNames in interface Adminregex - The regular expression to match againstjava.io.IOException - if a remote or network exception occurspublic TableName[] listTableNames(java.util.regex.Pattern pattern, boolean includeSysTables) throws java.io.IOException
AdminlistTableNames in interface Adminpattern - The regular expression to match againstincludeSysTables - False to match only against userspace tablesjava.io.IOException - if a remote or network exception occurspublic TableName[] listTableNames(java.lang.String regex, boolean includeSysTables) throws java.io.IOException
AdminlistTableNames in interface Adminregex - The regular expression to match againstincludeSysTables - False to match only against userspace tablesjava.io.IOException - if a remote or network exception occurspublic HTableDescriptor getTableDescriptor(TableName tableName) throws java.io.IOException
getTableDescriptor in interface AdmintableName - as a byte []TableNotFoundExceptionjava.io.IOException - if a remote or network exception occurspublic HTableDescriptor getTableDescriptor(byte[] tableName) throws TableNotFoundException, java.io.IOException
TableNotFoundExceptionjava.io.IOExceptionpublic void createTable(HTableDescriptor desc) throws java.io.IOException
createTable in interface Admindesc - table descriptor for tablejava.lang.IllegalArgumentException - if the table name is reservedMasterNotRunningException - if master is not runningTableExistsException - if table already exists (If concurrent
threads, the table may have been created between test-for-existence
and attempt-at-creation).java.io.IOException - if a remote or network exception occurspublic void createTable(HTableDescriptor desc, byte[] startKey, byte[] endKey, int numRegions) throws java.io.IOException
createTable in interface Admindesc - table descriptor for tablestartKey - beginning of key rangeendKey - end of key rangenumRegions - the total number of regions to createjava.lang.IllegalArgumentException - if the table name is reservedMasterNotRunningException - if master is not runningTableExistsException - if table already exists (If concurrent
threads, the table may have been created between test-for-existence
and attempt-at-creation).java.io.IOExceptionpublic void createTable(HTableDescriptor desc, byte[][] splitKeys) throws java.io.IOException
createTable in interface Admindesc - table descriptor for tablesplitKeys - array of split keys for the initial regions of the tablejava.lang.IllegalArgumentException - if the table name is reserved, if the split keys
are repeated and if the split key has empty byte array.MasterNotRunningException - if master is not runningTableExistsException - if table already exists (If concurrent
threads, the table may have been created between test-for-existence
and attempt-at-creation).java.io.IOExceptionpublic void createTableAsync(HTableDescriptor desc, byte[][] splitKeys) throws java.io.IOException
isTableAvailable(org.apache.hadoop.hbase.TableName) -- it is not safe to create an HTable
instance to this table before it is available.
Note : Avoid passing empty split key.createTableAsync in interface Admindesc - table descriptor for tablejava.lang.IllegalArgumentException - Bad table name, if the split keys
are repeated and if the split key has empty byte array.MasterNotRunningException - if master is not runningTableExistsException - if table already exists (If concurrent
threads, the table may have been created between test-for-existence
and attempt-at-creation).java.io.IOExceptionpublic void deleteTable(java.lang.String tableName)
throws java.io.IOException
java.io.IOExceptionpublic void deleteTable(byte[] tableName)
throws java.io.IOException
java.io.IOExceptionpublic void deleteTable(TableName tableName) throws java.io.IOException
deleteTable in interface AdmintableName - name of table to deletejava.io.IOException - if a remote or network exception occurspublic HTableDescriptor[] deleteTables(java.lang.String regex) throws java.io.IOException
listTables(java.lang.String) and
deleteTable(byte[])deleteTables in interface Adminregex - The regular expression to match table names againstjava.io.IOExceptiondeleteTables(java.util.regex.Pattern),
deleteTable(java.lang.String)public HTableDescriptor[] deleteTables(java.util.regex.Pattern pattern) throws java.io.IOException
listTables(java.util.regex.Pattern) and
deleteTable(byte[])deleteTables in interface Adminpattern - The pattern to match table names againstjava.io.IOExceptionpublic void truncateTable(TableName tableName, boolean preserveSplits) throws java.io.IOException
truncateTable in interface AdmintableName - name of table to truncatepreserveSplits - True if the splits should be preservedjava.io.IOException - if a remote or network exception occurspublic void enableTable(TableName tableName) throws java.io.IOException
enableTableAsync(byte[])
and isTableEnabled(byte[]) instead.
The table has to be in disabled state for it to be enabled.enableTable in interface AdmintableName - name of the tablejava.io.IOException - if a remote or network exception occurs
There could be couple types of IOException
TableNotFoundException means the table doesn't exist.
TableNotDisabledException means the table isn't in disabled state.isTableEnabled(byte[]),
disableTable(byte[]),
enableTableAsync(byte[])public void enableTable(byte[] tableName)
throws java.io.IOException
java.io.IOExceptionpublic void enableTable(java.lang.String tableName)
throws java.io.IOException
java.io.IOExceptionpublic void enableTableAsync(TableName tableName) throws java.io.IOException
isTableEnabled(byte[]) to learn when table is fully online. If
table is taking too long to online, check server logs.enableTableAsync in interface AdmintableName - java.io.IOExceptionpublic void enableTableAsync(byte[] tableName)
throws java.io.IOException
java.io.IOExceptionpublic void enableTableAsync(java.lang.String tableName)
throws java.io.IOException
java.io.IOExceptionpublic HTableDescriptor[] enableTables(java.lang.String regex) throws java.io.IOException
listTables(java.lang.String) and
enableTable(byte[])enableTables in interface Adminregex - The regular expression to match table names againstjava.io.IOExceptionenableTables(java.util.regex.Pattern),
enableTable(java.lang.String)public HTableDescriptor[] enableTables(java.util.regex.Pattern pattern) throws java.io.IOException
listTables(java.util.regex.Pattern) and
enableTable(byte[])enableTables in interface Adminpattern - The pattern to match table names againstjava.io.IOExceptionpublic void disableTableAsync(TableName tableName) throws java.io.IOException
isTableDisabled(byte[]) to check for when disable completes.
If table is taking too long to online, check server logs.disableTableAsync in interface AdmintableName - name of tablejava.io.IOException - if a remote or network exception occursisTableDisabled(byte[]),
isTableEnabled(byte[])public void disableTableAsync(byte[] tableName)
throws java.io.IOException
java.io.IOExceptionpublic void disableTableAsync(java.lang.String tableName)
throws java.io.IOException
java.io.IOExceptionpublic void disableTable(TableName tableName) throws java.io.IOException
disableTableAsync(byte[]) and isTableDisabled(String)
instead.
The table has to be in enabled state for it to be disabled.disableTable in interface AdmintableName - java.io.IOException - There could be couple types of IOException
TableNotFoundException means the table doesn't exist.
TableNotEnabledException means the table isn't in enabled state.public void disableTable(byte[] tableName)
throws java.io.IOException
java.io.IOExceptionpublic void disableTable(java.lang.String tableName)
throws java.io.IOException
java.io.IOExceptionpublic HTableDescriptor[] disableTables(java.lang.String regex) throws java.io.IOException
listTables(java.lang.String) and
disableTable(byte[])disableTables in interface Adminregex - The regular expression to match table names againstjava.io.IOExceptiondisableTables(java.util.regex.Pattern),
disableTable(java.lang.String)public HTableDescriptor[] disableTables(java.util.regex.Pattern pattern) throws java.io.IOException
listTables(java.util.regex.Pattern) and
disableTable(byte[])disableTables in interface Adminpattern - The pattern to match table names againstjava.io.IOExceptionpublic boolean isTableEnabled(TableName tableName) throws java.io.IOException
isTableEnabled in interface AdmintableName - name of table to checkjava.io.IOException - if a remote or network exception occurspublic boolean isTableEnabled(byte[] tableName)
throws java.io.IOException
java.io.IOExceptionpublic boolean isTableEnabled(java.lang.String tableName)
throws java.io.IOException
java.io.IOExceptionpublic boolean isTableDisabled(TableName tableName) throws java.io.IOException
isTableDisabled in interface AdmintableName - name of table to checkjava.io.IOException - if a remote or network exception occurspublic boolean isTableDisabled(byte[] tableName)
throws java.io.IOException
java.io.IOExceptionpublic boolean isTableDisabled(java.lang.String tableName)
throws java.io.IOException
java.io.IOExceptionpublic boolean isTableAvailable(TableName tableName) throws java.io.IOException
isTableAvailable in interface AdmintableName - name of table to checkjava.io.IOException - if a remote or network exception occurspublic boolean isTableAvailable(byte[] tableName)
throws java.io.IOException
java.io.IOExceptionpublic boolean isTableAvailable(java.lang.String tableName)
throws java.io.IOException
java.io.IOExceptionpublic boolean isTableAvailable(TableName tableName, byte[][] splitKeys) throws java.io.IOException
isTableAvailable in interface AdmintableName - name of table to checksplitKeys - keys to check if the table has been created with all split keysjava.io.IOException - if a remote or network excpetion occurspublic boolean isTableAvailable(byte[] tableName,
byte[][] splitKeys)
throws java.io.IOException
java.io.IOExceptionpublic boolean isTableAvailable(java.lang.String tableName,
byte[][] splitKeys)
throws java.io.IOException
java.io.IOExceptionpublic Pair<java.lang.Integer,java.lang.Integer> getAlterStatus(TableName tableName) throws java.io.IOException
getAlterStatus in interface AdmintableName - TableName instancejava.io.IOException - if a remote or network exception occurspublic Pair<java.lang.Integer,java.lang.Integer> getAlterStatus(byte[] tableName) throws java.io.IOException
getAlterStatus in interface AdmintableName - name of the table to get the status ofjava.io.IOException - if a remote or network exception occurspublic void addColumn(byte[] tableName,
HColumnDescriptor column)
throws java.io.IOException
tableName - name of the table to add column tocolumn - column descriptor of column to be addedjava.io.IOException - if a remote or network exception occurspublic void addColumn(java.lang.String tableName,
HColumnDescriptor column)
throws java.io.IOException
tableName - name of the table to add column tocolumn - column descriptor of column to be addedjava.io.IOException - if a remote or network exception occurspublic void addColumn(TableName tableName, HColumnDescriptor column) throws java.io.IOException
public void deleteColumn(byte[] tableName,
java.lang.String columnName)
throws java.io.IOException
tableName - name of tablecolumnName - name of column to be deletedjava.io.IOException - if a remote or network exception occurspublic void deleteColumn(java.lang.String tableName,
java.lang.String columnName)
throws java.io.IOException
tableName - name of tablecolumnName - name of column to be deletedjava.io.IOException - if a remote or network exception occurspublic void deleteColumn(TableName tableName, byte[] columnName) throws java.io.IOException
deleteColumn in interface AdmintableName - name of tablecolumnName - name of column to be deletedjava.io.IOException - if a remote or network exception occurspublic void modifyColumn(java.lang.String tableName,
HColumnDescriptor descriptor)
throws java.io.IOException
tableName - name of tabledescriptor - new column descriptor to usejava.io.IOException - if a remote or network exception occurspublic void modifyColumn(byte[] tableName,
HColumnDescriptor descriptor)
throws java.io.IOException
tableName - name of tabledescriptor - new column descriptor to usejava.io.IOException - if a remote or network exception occurspublic void modifyColumn(TableName tableName, HColumnDescriptor descriptor) throws java.io.IOException
modifyColumn in interface AdmintableName - name of tabledescriptor - new column descriptor to usejava.io.IOException - if a remote or network exception occurspublic void closeRegion(java.lang.String regionname,
java.lang.String serverName)
throws java.io.IOException
closeRegion in interface Adminregionname - region name to closeserverName - If supplied, we'll use this location rather than
the one currently in hbase:metajava.io.IOException - if a remote or network exception occurspublic void closeRegion(byte[] regionname,
java.lang.String serverName)
throws java.io.IOException
closeRegion in interface Adminregionname - region name to closeserverName - The servername of the regionserver. If passed null we
will use servername found in the hbase:meta table. A server name
is made of host, port and startcode. Here is an example:
host187.example.com,60020,1289493121758java.io.IOException - if a remote or network exception occurspublic boolean closeRegionWithEncodedRegionName(java.lang.String encodedRegionName,
java.lang.String serverName)
throws java.io.IOException
closeRegionWithEncodedRegionName in interface AdminencodedRegionName - The encoded region name; i.e. the hash that makes up the region
name suffix: e.g. if regionname is
TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.
, then the encoded region name is:
527db22f95c8a9e0116f0cc13c680396.serverName - The servername of the regionserver. A server name is made of host,
port and startcode. This is mandatory. Here is an example:
host187.example.com,60020,1289493121758java.io.IOException - if a remote or network exception occurspublic void closeRegion(ServerName sn, HRegionInfo hri) throws java.io.IOException
closeRegion in interface Adminsn - hri - java.io.IOExceptionpublic java.util.List<HRegionInfo> getOnlineRegions(ServerName sn) throws java.io.IOException
getOnlineRegions in interface Adminjava.io.IOExceptionpublic void flush(TableName tableName) throws java.io.IOException
public void flushRegion(byte[] regionName)
throws java.io.IOException
flushRegion in interface AdminregionName - region to flushjava.io.IOException - if a remote or network exception occurs@Deprecated
public void flush(java.lang.String tableNameOrRegionName)
throws java.io.IOException,
java.lang.InterruptedException
flush(org.apache.hadoop.hbase.TableName) or (byte[]) instead.java.io.IOExceptionjava.lang.InterruptedException@Deprecated
public void flush(byte[] tableNameOrRegionName)
throws java.io.IOException,
java.lang.InterruptedException
flush(org.apache.hadoop.hbase.TableName) or (byte[]) instead.java.io.IOExceptionjava.lang.InterruptedExceptionpublic void compact(TableName tableName) throws java.io.IOException
public void compactRegion(byte[] regionName)
throws java.io.IOException
compactRegion in interface AdminregionName - region to compactjava.io.IOException - if a remote or network exception occurs@Deprecated
public void compact(java.lang.String tableNameOrRegionName)
throws java.io.IOException
compact(org.apache.hadoop.hbase.TableName) or (byte[]) instead.java.io.IOException@Deprecated
public void compact(byte[] tableNameOrRegionName)
throws java.io.IOException
compact(org.apache.hadoop.hbase.TableName) or (byte[]) instead.java.io.IOExceptionpublic void compact(TableName tableName, byte[] columnFamily) throws java.io.IOException
public void compactRegion(byte[] regionName,
byte[] columnFamily)
throws java.io.IOException
compactRegion in interface AdminregionName - region to compactcolumnFamily - column family within a regionjava.io.IOException - if a remote or network exception occurs@Deprecated
public void compact(java.lang.String tableOrRegionName,
java.lang.String columnFamily)
throws java.io.IOException
compact(org.apache.hadoop.hbase.TableName) or (byte[], byte[]) instead.java.io.IOException@Deprecated
public void compact(byte[] tableNameOrRegionName,
byte[] columnFamily)
throws java.io.IOException
compact(org.apache.hadoop.hbase.TableName) or (byte[], byte[]) instead.java.io.IOExceptionpublic void compactRegionServer(ServerName sn, boolean major) throws java.io.IOException, java.lang.InterruptedException
compactRegionServer in interface Adminsn - the region server namemajor - if it's major compactionjava.io.IOExceptionjava.lang.InterruptedExceptionpublic void majorCompact(TableName tableName) throws java.io.IOException
majorCompact in interface AdmintableName - table to major compactjava.io.IOException - if a remote or network exception occurspublic void majorCompactRegion(byte[] regionName)
throws java.io.IOException
majorCompactRegion in interface AdminregionName - region to major compactjava.io.IOException - if a remote or network exception occurs@Deprecated
public void majorCompact(java.lang.String tableNameOrRegionName)
throws java.io.IOException
majorCompact(org.apache.hadoop.hbase.TableName) or majorCompactRegion(byte[]) instead.java.io.IOException@Deprecated
public void majorCompact(byte[] tableNameOrRegionName)
throws java.io.IOException
majorCompact(org.apache.hadoop.hbase.TableName) or majorCompactRegion(byte[]) instead.java.io.IOExceptionpublic void majorCompact(TableName tableName, byte[] columnFamily) throws java.io.IOException
majorCompact in interface AdmintableName - table to major compactcolumnFamily - column family within a tablejava.io.IOException - if a remote or network exception occurspublic void majorCompactRegion(byte[] regionName,
byte[] columnFamily)
throws java.io.IOException
majorCompactRegion in interface AdminregionName - egion to major compactcolumnFamily - column family within a regionjava.io.IOException - if a remote or network exception occurs@Deprecated
public void majorCompact(java.lang.String tableNameOrRegionName,
java.lang.String columnFamily)
throws java.io.IOException
majorCompact(org.apache.hadoop.hbase.TableName,
byte[]) or majorCompactRegion(byte[], byte[]) instead.java.io.IOException@Deprecated
public void majorCompact(byte[] tableNameOrRegionName,
byte[] columnFamily)
throws java.io.IOException
majorCompact(org.apache.hadoop.hbase.TableName,
byte[]) or majorCompactRegion(byte[], byte[]) instead.java.io.IOExceptionpublic void move(byte[] encodedRegionName,
byte[] destServerName)
throws java.io.IOException
r to dest.move in interface AdminencodedRegionName - The encoded region name; i.e. the hash that makes
up the region name suffix: e.g. if regionname is
TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.,
then the encoded region name is: 527db22f95c8a9e0116f0cc13c680396.destServerName - The servername of the destination regionserver. If
passed the empty byte array we'll assign to a random server. A server name
is made of host, port and startcode. Here is an example:
host187.example.com,60020,1289493121758UnknownRegionException - Thrown if we can't find a region named
encodedRegionNamejava.io.IOExceptionpublic void assign(byte[] regionName)
throws MasterNotRunningException,
ZooKeeperConnectionException,
java.io.IOException
assign in interface AdminregionName - Region name to assign.MasterNotRunningExceptionZooKeeperConnectionExceptionjava.io.IOExceptionpublic void unassign(byte[] regionName,
boolean force)
throws MasterNotRunningException,
ZooKeeperConnectionException,
java.io.IOException
move(byte[], byte[]) if you want
to control the region movement.unassign in interface AdminregionName - Region to unassign. Will clear any existing RegionPlan
if one found.force - If true, force unassign (Will remove region from
regions-in-transition too if present. If results in double assignment
use hbck -fix to resolve. To be used by experts).MasterNotRunningExceptionZooKeeperConnectionExceptionjava.io.IOExceptionpublic void offline(byte[] regionName)
throws java.io.IOException
public boolean setBalancerRunning(boolean on,
boolean synchronous)
throws java.io.IOException
setBalancerRunning in interface Adminon - If true, enable balancer. If false, disable balancer.synchronous - If true, it waits until current balance() call, if outstanding, to return.java.io.IOExceptionpublic boolean balancer()
throws java.io.IOException
public boolean balancer(boolean force)
throws java.io.IOException
Adminpublic boolean isBalancerEnabled()
throws java.io.IOException
isBalancerEnabled in interface Adminjava.io.IOExceptionpublic boolean normalize()
throws java.io.IOException
public boolean isNormalizerEnabled()
throws java.io.IOException
isNormalizerEnabled in interface Adminjava.io.IOExceptionpublic boolean setNormalizerRunning(boolean on)
throws java.io.IOException
setNormalizerRunning in interface Adminjava.io.IOExceptionpublic boolean enableCatalogJanitor(boolean enable)
throws java.io.IOException
enableCatalogJanitor in interface Adminenable - if true enables the catalog janitorMasterNotRunningExceptionjava.io.IOExceptionpublic int runCatalogScan()
throws java.io.IOException
runCatalogScan in interface AdminMasterNotRunningExceptionjava.io.IOExceptionpublic boolean isCatalogJanitorEnabled()
throws java.io.IOException
isCatalogJanitorEnabled in interface AdminMasterNotRunningExceptionjava.io.IOExceptionpublic void mergeRegions(byte[] encodedNameOfRegionA,
byte[] encodedNameOfRegionB,
boolean forcible)
throws java.io.IOException
mergeRegions in interface AdminencodedNameOfRegionA - encoded name of region aencodedNameOfRegionB - encoded name of region bforcible - true if do a compulsory merge, otherwise we will only merge
two adjacent regionsjava.io.IOExceptionpublic void split(TableName tableName) throws java.io.IOException
public void splitRegion(byte[] regionName)
throws java.io.IOException
splitRegion in interface AdminregionName - region to splitjava.io.IOException - if a remote or network exception occurs@Deprecated
public void split(java.lang.String tableNameOrRegionName)
throws java.io.IOException,
java.lang.InterruptedException
split(org.apache.hadoop.hbase.TableName) or (byte[]) instead.java.io.IOExceptionjava.lang.InterruptedException@Deprecated
public void split(byte[] tableNameOrRegionName)
throws java.io.IOException,
java.lang.InterruptedException
split(org.apache.hadoop.hbase.TableName) or (byte[]) instead.java.io.IOExceptionjava.lang.InterruptedExceptionpublic void split(TableName tableName, byte[] splitPoint) throws java.io.IOException
public void splitRegion(byte[] regionName,
byte[] splitPoint)
throws java.io.IOException
splitRegion in interface AdminregionName - region to splitsplitPoint - the explicit position to split onjava.io.IOException - if a remote or network exception occurs@Deprecated
public void split(java.lang.String tableNameOrRegionName,
java.lang.String splitPoint)
throws java.io.IOException
split(org.apache.hadoop.hbase.TableName,
byte[]) or splitRegion(byte[], byte[]) instead.java.io.IOException@Deprecated
public void split(byte[] tableNameOrRegionName,
byte[] splitPoint)
throws java.io.IOException
split(org.apache.hadoop.hbase.TableName,
byte[]) or splitRegion(byte[], byte[]) instead.java.io.IOExceptionpublic void split(ServerName sn, HRegionInfo hri, byte[] splitPoint) throws java.io.IOException
java.io.IOExceptionpublic java.lang.String backupTables(BackupRequest userRequest) throws java.io.IOException
java.io.IOExceptionpublic void modifyTable(TableName tableName, HTableDescriptor htd) throws java.io.IOException
modifyTable in interface AdmintableName - name of table.htd - modified description of the tablejava.io.IOException - if a remote or network exception occurspublic void modifyTable(byte[] tableName,
HTableDescriptor htd)
throws java.io.IOException
java.io.IOExceptionpublic void modifyTable(java.lang.String tableName,
HTableDescriptor htd)
throws java.io.IOException
java.io.IOExceptionpublic void shutdown()
throws java.io.IOException
public void stopMaster()
throws java.io.IOException
stopMaster in interface Adminjava.io.IOException - if a remote or network exception occursshutdown()public void stopRegionServer(java.lang.String hostnamePort)
throws java.io.IOException
stopRegionServer in interface AdminhostnamePort - Hostname and port delimited by a : as in
example.org:1234java.io.IOException - if a remote or network exception occurspublic boolean isMasterInMaintenanceMode()
throws java.io.IOException
AdminisMasterInMaintenanceMode in interface Adminjava.io.IOException - if a remote or network exception occurspublic ClusterStatus getClusterStatus() throws java.io.IOException
getClusterStatus in interface Adminjava.io.IOException - if a remote or network exception occurspublic Configuration getConfiguration()
getConfiguration in interface Adminpublic void createNamespace(NamespaceDescriptor descriptor) throws java.io.IOException
createNamespace in interface Admindescriptor - descriptor which describes the new namespacejava.io.IOExceptionpublic void modifyNamespace(NamespaceDescriptor descriptor) throws java.io.IOException
modifyNamespace in interface Admindescriptor - descriptor which describes the new namespacejava.io.IOExceptionpublic void deleteNamespace(java.lang.String name)
throws java.io.IOException
deleteNamespace in interface Adminname - namespace namejava.io.IOExceptionpublic NamespaceDescriptor getNamespaceDescriptor(java.lang.String name) throws java.io.IOException
getNamespaceDescriptor in interface Adminname - name of namespace descriptorjava.io.IOExceptionpublic NamespaceDescriptor[] listNamespaceDescriptors() throws java.io.IOException
listNamespaceDescriptors in interface Adminjava.io.IOExceptionpublic ProcedureInfo[] listProcedures() throws java.io.IOException
listProcedures in interface Adminjava.io.IOExceptionpublic HTableDescriptor[] listTableDescriptorsByNamespace(java.lang.String name) throws java.io.IOException
listTableDescriptorsByNamespace in interface Adminname - namespace namejava.io.IOExceptionpublic TableName[] listTableNamesByNamespace(java.lang.String name) throws java.io.IOException
listTableNamesByNamespace in interface Adminname - namespace namejava.io.IOExceptionpublic static void checkHBaseAvailable(Configuration conf)
throws MasterNotRunningException,
ZooKeeperConnectionException,
ServiceException,
java.io.IOException
conf - system configurationMasterNotRunningException - if the master is not runningZooKeeperConnectionException - if unable to connect to zookeeperServiceExceptionjava.io.IOExceptionpublic java.util.List<HRegionInfo> getTableRegions(TableName tableName) throws java.io.IOException
getTableRegions in interface AdmintableName - the name of the tableHRegionInfo.java.io.IOExceptionpublic java.util.List<HRegionInfo> getTableRegions(byte[] tableName) throws java.io.IOException
java.io.IOExceptionpublic void close()
throws java.io.IOException
public HTableDescriptor[] getTableDescriptorsByTableName(java.util.List<TableName> tableNames) throws java.io.IOException
getTableDescriptorsByTableName in interface AdmintableNames - List of table namesjava.io.IOException - if a remote or network exception occurspublic HTableDescriptor[] getTableDescriptors(java.util.List<java.lang.String> names) throws java.io.IOException
getTableDescriptors in interface Adminnames - List of table namesjava.io.IOException - if a remote or network exception occurs@Deprecated
public byte[][] rollHLogWriter(java.lang.String serverName)
throws java.io.IOException,
FailedLogCloseException
rollWALWriter(ServerName)serverName - The servername of the regionserver. A server name is made of host,
port and startcode. This is mandatory. Here is an example:
host187.example.com,60020,1289493121758HRegionInfo.getEncodedName() that would allow the wal to
clean up some underlying files. null if there's nothing to flush.java.io.IOException - if a remote or network exception occursFailedLogCloseExceptionpublic void rollWALWriter(ServerName serverName) throws java.io.IOException, FailedLogCloseException
AdminrollWALWriter in interface AdminserverName - The servername of the regionserver.java.io.IOException - if a remote or network exception occursFailedLogCloseExceptionpublic java.lang.String[] getMasterCoprocessors()
AdmingetMasterCoprocessors in interface AdminClusterStatus.getMasterCoprocessors()public AdminProtos.GetRegionInfoResponse.CompactionState getCompactionState(TableName tableName, Admin.CompactType compactType) throws java.io.IOException
getCompactionState in interface AdmintableName - table to examinecompactType - Admin.CompactTypejava.io.IOException - if a remote or network exception occurspublic AdminProtos.GetRegionInfoResponse.CompactionState getCompactionStateForRegion(byte[] regionName) throws java.io.IOException
getCompactionStateForRegion in interface AdminregionName - region to examinejava.io.IOException - if a remote or network exception occurs@Deprecated public AdminProtos.GetRegionInfoResponse.CompactionState getCompactionState(java.lang.String tableNameOrRegionName) throws java.io.IOException, java.lang.InterruptedException
getCompactionState(org.apache.hadoop.hbase.TableName) or getCompactionStateForRegion(byte[]) instead.java.io.IOExceptionjava.lang.InterruptedException@Deprecated public AdminProtos.GetRegionInfoResponse.CompactionState getCompactionState(byte[] tableNameOrRegionName) throws java.io.IOException, java.lang.InterruptedException
getCompactionState(org.apache.hadoop.hbase.TableName) or getCompactionStateForRegion(byte[]) instead.java.io.IOExceptionjava.lang.InterruptedExceptionpublic void snapshot(java.lang.String snapshotName,
TableName tableName)
throws java.io.IOException,
SnapshotCreationException,
java.lang.IllegalArgumentException
Snapshots are considered unique based on the name of the snapshot. Attempts to take a
snapshot with the same name (even a different type or with different parameters) will fail with
a SnapshotCreationException indicating the duplicate naming.
Snapshot names follow the same naming constraints as tables in HBase. See
TableName.isLegalFullyQualifiedTableName(byte[]).
snapshot in interface AdminsnapshotName - name of the snapshot to be createdtableName - name of the table for which snapshot is createdjava.io.IOException - if a remote or network exception occursSnapshotCreationException - if snapshot creation failedjava.lang.IllegalArgumentException - if the snapshot request is formatted incorrectlypublic void snapshot(java.lang.String snapshotName,
java.lang.String tableName)
throws java.io.IOException,
SnapshotCreationException,
java.lang.IllegalArgumentException
java.io.IOExceptionSnapshotCreationExceptionjava.lang.IllegalArgumentExceptionpublic void snapshot(byte[] snapshotName,
byte[] tableName,
HBaseProtos.SnapshotDescription.Type flushType)
throws java.io.IOException,
SnapshotCreationException,
java.lang.IllegalArgumentException
Snapshots are considered unique based on the name of the snapshot. Attempts to take a
snapshot with the same name (even a different type or with different parameters) will fail with
a SnapshotCreationException indicating the duplicate naming.
Snapshot names follow the same naming constraints as tables in HBase.
snapshotName - name of the snapshot to be createdtableName - name of the table for which snapshot is createdflushType - if the snapshot should be taken without flush memstore firstjava.io.IOException - if a remote or network exception occursSnapshotCreationException - if snapshot creation failedjava.lang.IllegalArgumentException - if the snapshot request is formatted incorrectlypublic void snapshot(byte[] snapshotName,
TableName tableName)
throws java.io.IOException,
SnapshotCreationException,
java.lang.IllegalArgumentException
Snapshots are considered unique based on the name of the snapshot. Attempts to take a
snapshot with the same name (even a different type or with different parameters) will fail with
a SnapshotCreationException indicating the duplicate naming.
Snapshot names follow the same naming constraints as tables in HBase.
snapshot in interface AdminsnapshotName - name of the snapshot to be createdtableName - name of the table for which snapshot is createdjava.io.IOException - if a remote or network exception occursSnapshotCreationException - if snapshot creation failedjava.lang.IllegalArgumentException - if the snapshot request is formatted incorrectlypublic void snapshot(byte[] snapshotName,
byte[] tableName)
throws java.io.IOException,
SnapshotCreationException,
java.lang.IllegalArgumentException
java.io.IOExceptionSnapshotCreationExceptionjava.lang.IllegalArgumentExceptionpublic void snapshot(java.lang.String snapshotName,
TableName tableName,
HBaseProtos.SnapshotDescription.Type type)
throws java.io.IOException,
SnapshotCreationException,
java.lang.IllegalArgumentException
Snapshots are considered unique based on the name of the snapshot. Attempts to take a
snapshot with the same name (even a different type or with different parameters) will fail with
a SnapshotCreationException indicating the duplicate naming.
Snapshot names follow the same naming constraints as tables in HBase. See
TableName.isLegalFullyQualifiedTableName(byte[]).
snapshot in interface AdminsnapshotName - name to give the snapshot on the filesystem. Must be unique from all other
snapshots stored on the clustertableName - name of the table to snapshottype - type of snapshot to takejava.io.IOException - we fail to reach the masterSnapshotCreationException - if snapshot creation failedjava.lang.IllegalArgumentException - if the snapshot request is formatted incorrectlypublic void snapshot(java.lang.String snapshotName,
java.lang.String tableName,
HBaseProtos.SnapshotDescription.Type type)
throws java.io.IOException,
SnapshotCreationException,
java.lang.IllegalArgumentException
java.io.IOExceptionSnapshotCreationExceptionjava.lang.IllegalArgumentExceptionpublic void snapshot(java.lang.String snapshotName,
byte[] tableName,
HBaseProtos.SnapshotDescription.Type type)
throws java.io.IOException,
SnapshotCreationException,
java.lang.IllegalArgumentException
java.io.IOExceptionSnapshotCreationExceptionjava.lang.IllegalArgumentExceptionpublic void snapshot(HBaseProtos.SnapshotDescription snapshot) throws java.io.IOException, SnapshotCreationException, java.lang.IllegalArgumentException
Only a single snapshot should be taken at a time for an instance of HBase, or results may be undefined (you can tell multiple HBase clusters to snapshot at the same time, but only one at a time for a single cluster).
Snapshots are considered unique based on the name of the snapshot. Attempts to take a
snapshot with the same name (even a different type or with different parameters) will fail with
a SnapshotCreationException indicating the duplicate naming.
Snapshot names follow the same naming constraints as tables in HBase. See
TableName.isLegalFullyQualifiedTableName(byte[]).
You should probably use snapshot(String, String) or snapshot(byte[], byte[])
unless you are sure about the type of snapshot that you want to take.
snapshot in interface Adminsnapshot - snapshot to takejava.io.IOException - or we lose contact with the master.SnapshotCreationException - if snapshot failed to be takenjava.lang.IllegalArgumentException - if the snapshot request is formatted incorrectlypublic void waitForSnapshot(HBaseProtos.SnapshotDescription snapshot, long max, HConnection conn) throws java.io.IOException
java.io.IOExceptionpublic MasterProtos.SnapshotResponse takeSnapshotAsync(HBaseProtos.SnapshotDescription snapshot) throws java.io.IOException, SnapshotCreationException
Only a single snapshot should be taken at a time, or results may be undefined.
takeSnapshotAsync in interface Adminsnapshot - snapshot to takejava.io.IOException - if the snapshot did not succeed or we lose contact with the master.SnapshotCreationException - if snapshot creation failedjava.lang.IllegalArgumentException - if the snapshot request is formatted incorrectlypublic boolean isSnapshotFinished(HBaseProtos.SnapshotDescription snapshot) throws java.io.IOException, HBaseSnapshotException, UnknownSnapshotException
There are three possible states:
The cluster only knows about the most recent snapshot. Therefore, if another snapshot has been
run/started since the snapshot your are checking, you will recieve an
UnknownSnapshotException.
isSnapshotFinished in interface Adminsnapshot - description of the snapshot to checkjava.io.IOException - if we have a network issueHBaseSnapshotException - if the snapshot failedUnknownSnapshotException - if the requested snapshot is unknownpublic void restoreSnapshot(byte[] snapshotName)
throws java.io.IOException,
RestoreSnapshotException
restoreSnapshot in interface AdminsnapshotName - name of the snapshot to restorejava.io.IOException - if a remote or network exception occursRestoreSnapshotException - if snapshot failed to be restoredjava.lang.IllegalArgumentException - if the restore request is formatted incorrectlypublic void restoreSnapshot(java.lang.String snapshotName)
throws java.io.IOException,
RestoreSnapshotException
restoreSnapshot in interface AdminsnapshotName - name of the snapshot to restorejava.io.IOException - if a remote or network exception occursRestoreSnapshotException - if snapshot failed to be restoredjava.lang.IllegalArgumentException - if the restore request is formatted incorrectlypublic void restoreSnapshot(byte[] snapshotName,
boolean takeFailSafeSnapshot)
throws java.io.IOException,
RestoreSnapshotException
restoreSnapshot in interface AdminsnapshotName - name of the snapshot to restoretakeFailSafeSnapshot - true if the failsafe snapshot should be takenjava.io.IOException - if a remote or network exception occursRestoreSnapshotException - if snapshot failed to be restoredjava.lang.IllegalArgumentException - if the restore request is formatted incorrectlypublic void restoreSnapshot(java.lang.String snapshotName,
boolean takeFailSafeSnapshot,
boolean restoreAcl)
throws java.io.IOException,
RestoreSnapshotException
restoreSnapshot in interface AdminsnapshotName - name of the snapshot to restoretakeFailSafeSnapshot - true if the failsafe snapshot should be takenrestoreAcl - true to restore acl of snapshot into table.java.io.IOException - if a remote or network exception occursRestoreSnapshotException - if snapshot failed to be restoredjava.lang.IllegalArgumentException - if the restore request is formatted incorrectlypublic void restoreSnapshot(java.lang.String snapshotName,
boolean takeFailSafeSnapshot)
throws java.io.IOException,
RestoreSnapshotException
AdminrestoreSnapshot in interface AdminsnapshotName - name of the snapshot to restoretakeFailSafeSnapshot - true if the failsafe snapshot should be takenjava.io.IOException - if a remote or network exception occursRestoreSnapshotException - if snapshot failed to be restoredpublic void cloneSnapshot(byte[] snapshotName,
byte[] tableName)
throws java.io.IOException,
TableExistsException,
RestoreSnapshotException
snapshotName - name of the snapshot to be clonedtableName - name of the table where the snapshot will be restoredjava.io.IOException - if a remote or network exception occursTableExistsException - if table to be created already existsRestoreSnapshotException - if snapshot failed to be clonedjava.lang.IllegalArgumentException - if the specified table has not a valid namepublic void cloneSnapshot(byte[] snapshotName,
TableName tableName)
throws java.io.IOException,
TableExistsException,
RestoreSnapshotException
cloneSnapshot in interface AdminsnapshotName - name of the snapshot to be clonedtableName - name of the table where the snapshot will be restoredjava.io.IOException - if a remote or network exception occursTableExistsException - if table to be created already existsRestoreSnapshotException - if snapshot failed to be clonedjava.lang.IllegalArgumentException - if the specified table has not a valid namepublic void cloneSnapshot(java.lang.String snapshotName,
java.lang.String tableName)
throws java.io.IOException,
TableExistsException,
RestoreSnapshotException,
java.lang.InterruptedException
snapshotName - name of the snapshot to be clonedtableName - name of the table where the snapshot will be restoredjava.io.IOException - if a remote or network exception occursTableExistsException - if table to be created already existsRestoreSnapshotException - if snapshot failed to be clonedjava.lang.IllegalArgumentException - if the specified table has not a valid namejava.lang.InterruptedExceptionpublic void cloneSnapshot(java.lang.String snapshotName,
TableName tableName,
boolean restoreAcl)
throws java.io.IOException,
TableExistsException,
RestoreSnapshotException
cloneSnapshot in interface AdminsnapshotName - name of the snapshot to be clonedtableName - name of the table where the snapshot will be restoredrestoreAcl - true to restore acl of snapshot into newly created tablejava.io.IOException - if a remote or network exception occursTableExistsException - if table to be created already existsRestoreSnapshotException - if snapshot failed to be clonedjava.lang.IllegalArgumentException - if the specified table has not a valid namepublic void cloneSnapshot(java.lang.String snapshotName,
TableName tableName)
throws java.io.IOException,
TableExistsException,
RestoreSnapshotException
AdmincloneSnapshot in interface AdminsnapshotName - name of the snapshot to be clonedtableName - name of the table where the snapshot will be restoredjava.io.IOException - if a remote or network exception occursTableExistsException - if table to be created already existsRestoreSnapshotException - if snapshot failed to be clonedpublic byte[] execProcedureWithRet(java.lang.String signature,
java.lang.String instance,
java.util.Map<java.lang.String,java.lang.String> props)
throws java.io.IOException
execProcedureWithRet in interface Adminsignature - A distributed procedure is uniquely identified
by its signature (default the root ZK node name of the procedure).instance - The instance name of the procedure. For some procedures, this parameter is
optional.props - Property/Value pairs of properties passing to the procedurejava.io.IOExceptionpublic void execProcedure(java.lang.String signature,
java.lang.String instance,
java.util.Map<java.lang.String,java.lang.String> props)
throws java.io.IOException
execProcedure in interface Adminsignature - A distributed procedure is uniquely identified
by its signature (default the root ZK node name of the procedure).instance - The instance name of the procedure. For some procedures, this parameter is
optional.props - Property/Value pairs of properties passing to the procedurejava.io.IOExceptionpublic boolean isProcedureFinished(java.lang.String signature,
java.lang.String instance,
java.util.Map<java.lang.String,java.lang.String> props)
throws java.io.IOException
There are three possible states:
isProcedureFinished in interface Adminsignature - The signature that uniquely identifies a procedureinstance - The instance name of the procedureprops - Property/Value pairs of properties passing to the procedurejava.io.IOException - if the specified procedure finished with errorpublic java.util.List<HBaseProtos.SnapshotDescription> listSnapshots() throws java.io.IOException
listSnapshots in interface Adminjava.io.IOException - if a network error occurspublic java.util.List<HBaseProtos.SnapshotDescription> listSnapshots(java.lang.String regex) throws java.io.IOException
listSnapshots in interface Adminregex - The regular expression to match againstjava.io.IOException - if a remote or network exception occurspublic java.util.List<HBaseProtos.SnapshotDescription> listSnapshots(java.util.regex.Pattern pattern) throws java.io.IOException
listSnapshots in interface Adminpattern - The compiled regular expression to match againstjava.io.IOException - if a remote or network exception occurspublic void deleteSnapshot(byte[] snapshotName)
throws java.io.IOException
deleteSnapshot in interface AdminsnapshotName - name of the snapshotjava.io.IOException - if a remote or network exception occurspublic void deleteSnapshot(java.lang.String snapshotName)
throws java.io.IOException
deleteSnapshot in interface AdminsnapshotName - name of the snapshotjava.io.IOException - if a remote or network exception occurspublic void deleteSnapshots(java.lang.String regex)
throws java.io.IOException
deleteSnapshots in interface Adminregex - The regular expression to match againstjava.io.IOException - if a remote or network exception occurspublic void deleteSnapshots(java.util.regex.Pattern pattern)
throws java.io.IOException
deleteSnapshots in interface Adminpattern - pattern for names of the snapshot to matchjava.io.IOException - if a remote or network exception occurspublic void setQuota(QuotaSettings quota) throws java.io.IOException
public QuotaRetriever getQuotaRetriever(QuotaFilter filter) throws java.io.IOException
getQuotaRetriever in interface Adminfilter - the quota settings filterjava.io.IOException - if a remote or network exception occurspublic CoprocessorRpcChannel coprocessorService()
com.google.protobuf.RpcChannel instance
connected to the active master.
The obtained com.google.protobuf.RpcChannel instance can be used to access a published
coprocessor com.google.protobuf.Service using standard protobuf service invocations:
CoprocessorRpcChannel channel = myAdmin.coprocessorService();
MyService.BlockingInterface service = MyService.newBlockingStub(channel);
MyCallRequest request = MyCallRequest.newBuilder()
...
.build();
MyCallResponse response = service.myCall(null, request);
coprocessorService in interface Adminpublic CoprocessorRpcChannel coprocessorService(ServerName sn)
com.google.protobuf.RpcChannel instance
connected to the passed region server.
The obtained com.google.protobuf.RpcChannel instance can be used to access a published
coprocessor com.google.protobuf.Service using standard protobuf service invocations:
CoprocessorRpcChannel channel = myAdmin.coprocessorService(serverName);
MyService.BlockingInterface service = MyService.newBlockingStub(channel);
MyCallRequest request = MyCallRequest.newBuilder()
...
.build();
MyCallResponse response = service.myCall(null, request);
coprocessorService in interface Adminsn - the server name to which the endpoint call is madepublic static long getPauseTime(int tries,
long pause)
public void updateConfiguration(ServerName server) throws java.io.IOException
AdminupdateConfiguration in interface Adminserver - : The server whose config needs to be updated.java.io.IOExceptionpublic void updateConfiguration()
throws java.io.IOException
AdminupdateConfiguration in interface Adminjava.io.IOExceptionpublic int getMasterInfoPort()
throws java.io.IOException
AdmingetMasterInfoPort in interface Adminjava.io.IOExceptionpublic long getLastMajorCompactionTimestamp(TableName tableName) throws java.io.IOException
AdmingetLastMajorCompactionTimestamp in interface AdmintableName - table to examinejava.io.IOException - if a remote or network exception occurspublic long getLastMajorCompactionTimestampForRegion(byte[] regionName)
throws java.io.IOException
AdmingetLastMajorCompactionTimestampForRegion in interface AdminregionName - region to examinejava.io.IOException - if a remote or network exception occurspublic void compact(TableName tableName, byte[] columnFamily, Admin.CompactType compactType) throws java.io.IOException, java.lang.InterruptedException
compact in interface AdmintableName - table to compactcolumnFamily - column family within a tablecompactType - Admin.CompactTypejava.io.IOException - if not a mob column family or if a remote or network exception occursjava.lang.InterruptedExceptionpublic void compact(TableName tableName, Admin.CompactType compactType) throws java.io.IOException, java.lang.InterruptedException
compact in interface AdmintableName - table to compactcompactType - Admin.CompactTypejava.io.IOExceptionjava.lang.InterruptedExceptionpublic void majorCompact(TableName tableName, byte[] columnFamily, Admin.CompactType compactType) throws java.io.IOException, java.lang.InterruptedException
majorCompact in interface AdmintableName - table to compactcolumnFamily - column family within a tablecompactType - Admin.CompactTypejava.io.IOException - if not a mob column family or if a remote or network exception occursjava.lang.InterruptedExceptionpublic void majorCompact(TableName tableName, Admin.CompactType compactType) throws java.io.IOException, java.lang.InterruptedException
majorCompact in interface AdmintableName - table to compactcompactType - Admin.CompactTypejava.io.IOExceptionjava.lang.InterruptedExceptionpublic AdminProtos.GetRegionInfoResponse.CompactionState getCompactionState(TableName tableName) throws java.io.IOException
AdmingetCompactionState in interface AdmintableName - table to examinejava.io.IOException - if a remote or network exception occurspublic boolean[] setSplitOrMergeEnabled(boolean enabled,
boolean synchronous,
Admin.MasterSwitchType... switchTypes)
throws java.io.IOException
AdminsetSplitOrMergeEnabled in interface Adminenabled - enabled or notsynchronous - If true, it waits until current split() call, if outstanding, to return.switchTypes - switchType list Admin.MasterSwitchTypejava.io.IOExceptionpublic boolean isSplitOrMergeEnabled(Admin.MasterSwitchType switchType) throws java.io.IOException
AdminisSplitOrMergeEnabled in interface Adminjava.io.IOExceptionpublic BackupAdmin getBackupAdmin() throws java.io.IOException
AdmingetBackupAdmin in interface Adminjava.io.IOException - exception