@InterfaceAudience.Public @InterfaceStability.Evolving public class HBaseAdmin extends Object implements Abortable, Closeable
See HTable to add, update, and delete data from an individual table.
Currently HBaseAdmin instances are not expected to be long-lived. For example, an HBaseAdmin instance will not ride over a Master restart.
| Constructor and Description |
|---|
HBaseAdmin(org.apache.hadoop.conf.Configuration c)
Constructor.
|
HBaseAdmin(HConnection connection)
Constructor for externally managed HConnections.
|
| Modifier and Type | Method and Description |
|---|---|
void |
abort(String why,
Throwable e)
Abort the server or client.
|
void |
addColumn(byte[] tableName,
HColumnDescriptor column)
Add a column to an existing table.
|
void |
addColumn(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) |
boolean |
balancer()
Invoke the balancer.
|
static void |
checkHBaseAvailable(org.apache.hadoop.conf.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(String snapshotName,
String tableName)
Create a new table by cloning the snapshot content.
|
void |
cloneSnapshot(String snapshotName,
TableName tableName)
Create a new table by cloning the snapshot content.
|
void |
close() |
void |
closeRegion(byte[] regionname,
String serverName)
Close a region.
|
void |
closeRegion(ServerName sn,
HRegionInfo hri)
Close a region.
|
void |
closeRegion(String regionname,
String serverName)
Close a region.
|
boolean |
closeRegionWithEncodedRegionName(String encodedRegionName,
String serverName)
For expert-admins.
|
void |
compact(byte[] tableNameOrRegionName)
Compact a table or an individual region.
|
void |
compact(byte[] tableNameOrRegionName,
byte[] columnFamily)
Compact a column family within a table or region.
|
void |
compact(String tableNameOrRegionName)
Compact a table or an individual region.
|
void |
compact(String tableOrRegionName,
String columnFamily)
Compact a column family within a table or region.
|
CoprocessorRpcChannel |
coprocessorService()
Creates and returns a
RpcChannel instance
connected to the active master. |
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,
String columnName)
Delete a column from a table.
|
void |
deleteColumn(String tableName,
String columnName)
Delete a column from a table.
|
void |
deleteColumn(TableName tableName,
byte[] columnName)
Delete a column from a table.
|
void |
deleteNamespace(String name)
Delete an existing namespace.
|
void |
deleteSnapshot(byte[] snapshotName)
Delete an existing snapshot.
|
void |
deleteSnapshot(String snapshotName)
Delete an existing snapshot.
|
void |
deleteSnapshots(Pattern pattern)
Delete existing snapshots whose names match the pattern passed.
|
void |
deleteSnapshots(String regex)
Delete existing snapshots whose names match the pattern passed.
|
void |
deleteTable(byte[] tableName) |
void |
deleteTable(String tableName) |
void |
deleteTable(TableName tableName)
Deletes a table.
|
HTableDescriptor[] |
deleteTables(Pattern pattern)
Delete tables matching the passed in pattern and wait on completion.
|
HTableDescriptor[] |
deleteTables(String regex)
Deletes tables matching the passed in pattern and wait on completion.
|
void |
disableTable(byte[] tableName) |
void |
disableTable(String tableName) |
void |
disableTable(TableName tableName)
Disable table and wait on completion.
|
void |
disableTableAsync(byte[] tableName) |
void |
disableTableAsync(String tableName) |
void |
disableTableAsync(TableName tableName)
Starts the disable of a table.
|
HTableDescriptor[] |
disableTables(Pattern pattern)
Disable tables matching the passed in pattern and wait on completion.
|
HTableDescriptor[] |
disableTables(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(String tableName) |
void |
enableTable(TableName tableName)
Enable a table.
|
void |
enableTableAsync(byte[] tableName) |
void |
enableTableAsync(String tableName) |
void |
enableTableAsync(TableName tableName)
Brings a table on-line (enables it).
|
HTableDescriptor[] |
enableTables(Pattern pattern)
Enable tables matching the passed in pattern and wait on completion.
|
HTableDescriptor[] |
enableTables(String regex)
Enable tables matching the passed in pattern and wait on completion.
|
void |
execProcedure(String signature,
String instance,
Map<String,String> props)
Execute a distributed procedure on a cluster.
|
void |
flush(byte[] tableNameOrRegionName)
Flush a table or an individual region.
|
void |
flush(String tableNameOrRegionName)
Flush a table or an individual region.
|
Pair<Integer,Integer> |
getAlterStatus(byte[] tableName)
Get the status of alter command - indicates how many regions have received
the updated schema Asynchronous operation.
|
Pair<Integer,Integer> |
getAlterStatus(TableName tableName)
Get the status of alter command - indicates how many regions have received
the updated schema Asynchronous operation.
|
ClusterStatus |
getClusterStatus() |
AdminProtos.GetRegionInfoResponse.CompactionState |
getCompactionState(byte[] tableNameOrRegionName)
Get the current compaction state of a table or region.
|
AdminProtos.GetRegionInfoResponse.CompactionState |
getCompactionState(String tableNameOrRegionName)
Get the current compaction state of a table or region.
|
org.apache.hadoop.conf.Configuration |
getConfiguration() |
HConnection |
getConnection() |
String[] |
getMasterCoprocessors() |
NamespaceDescriptor |
getNamespaceDescriptor(String name)
Get a namespace descriptor by name
|
List<HRegionInfo> |
getOnlineRegions(ServerName sn)
Get all the online regions on a region server.
|
HTableDescriptor |
getTableDescriptor(byte[] tableName) |
HTableDescriptor |
getTableDescriptor(TableName tableName)
Method for getting the tableDescriptor
|
HTableDescriptor[] |
getTableDescriptors(List<String> names)
Get tableDescriptors
|
HTableDescriptor[] |
getTableDescriptorsByTableName(List<TableName> tableNames)
Get tableDescriptors
|
String[] |
getTableNames()
Deprecated.
|
String[] |
getTableNames(Pattern pattern)
Deprecated.
|
String[] |
getTableNames(String regex)
Deprecated.
|
List<HRegionInfo> |
getTableRegions(byte[] tableName) |
List<HRegionInfo> |
getTableRegions(TableName tableName)
get the regions of a given table.
|
boolean |
isAborted()
Check if the server or client was aborted.
|
boolean |
isCatalogJanitorEnabled()
Query on the catalog janitor state (Enabled/Disabled?)
|
boolean |
isMasterRunning() |
boolean |
isProcedureFinished(String signature,
String instance,
Map<String,String> props)
Check the current state of the specified procedure.
|
boolean |
isSnapshotFinished(HBaseProtos.SnapshotDescription snapshot)
Check the current state of the passed snapshot.
|
boolean |
isTableAvailable(byte[] tableName) |
boolean |
isTableAvailable(byte[] tableName,
byte[][] splitKeys) |
boolean |
isTableAvailable(String tableName) |
boolean |
isTableAvailable(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(String tableName) |
boolean |
isTableDisabled(TableName tableName) |
boolean |
isTableEnabled(byte[] tableName) |
boolean |
isTableEnabled(String tableName) |
boolean |
isTableEnabled(TableName tableName) |
NamespaceDescriptor[] |
listNamespaceDescriptors()
List available namespace descriptors
|
List<HBaseProtos.SnapshotDescription> |
listSnapshots()
List completed snapshots.
|
List<HBaseProtos.SnapshotDescription> |
listSnapshots(Pattern pattern)
List all the completed snapshots matching the given pattern.
|
List<HBaseProtos.SnapshotDescription> |
listSnapshots(String regex)
List all the completed snapshots matching the given regular expression.
|
HTableDescriptor[] |
listTableDescriptorsByNamespace(String name)
Get list of table descriptors by namespace
|
TableName[] |
listTableNames()
List all of the names of userspace tables.
|
TableName[] |
listTableNamesByNamespace(String name)
Get list of table names by namespace
|
HTableDescriptor[] |
listTables()
List all the userspace tables.
|
HTableDescriptor[] |
listTables(Pattern pattern)
List all the userspace tables matching the given pattern.
|
HTableDescriptor[] |
listTables(String regex)
List all the userspace tables matching the given regular expression.
|
void |
majorCompact(byte[] tableNameOrRegionName)
Major compact a table or an individual region.
|
void |
majorCompact(byte[] tableNameOrRegionName,
byte[] columnFamily)
Major compact a column family within a table or region.
|
void |
majorCompact(String tableNameOrRegionName)
Major compact a table or an individual region.
|
void |
majorCompact(String tableNameOrRegionName,
String columnFamily)
Major compact a column family within a table or 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(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(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. |
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(String snapshotName)
Restore the specified snapshot on the original table.
|
void |
restoreSnapshot(String snapshotName,
boolean takeFailSafeSnapshot)
Restore the specified snapshot on the original table.
|
byte[][] |
rollHLogWriter(String 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.
|
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(String snapshotName,
byte[] tableName,
HBaseProtos.SnapshotDescription.Type type) |
void |
snapshot(String snapshotName,
String tableName) |
void |
snapshot(String snapshotName,
String tableName,
HBaseProtos.SnapshotDescription.Type type) |
void |
snapshot(String snapshotName,
TableName tableName)
Take a snapshot for the given table.
|
void |
snapshot(String snapshotName,
TableName tableName,
HBaseProtos.SnapshotDescription.Type type)
Create typed snapshot of the table.
|
void |
split(byte[] tableNameOrRegionName)
Split a table or an individual region.
|
void |
split(byte[] tableNameOrRegionName,
byte[] splitPoint)
Split a table or an individual region.
|
void |
split(String tableNameOrRegionName)
Split a table or an individual region.
|
void |
split(String tableNameOrRegionName,
String splitPoint) |
void |
stopMaster()
Shuts down the current HBase master only.
|
void |
stopRegionServer(String hostnamePort)
Stop the designated regionserver
|
boolean |
tableExists(byte[] tableName) |
boolean |
tableExists(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 |
unassign(byte[] regionName,
boolean force)
Unassign a region from current hosting regionserver.
|
public HBaseAdmin(org.apache.hadoop.conf.Configuration c)
throws MasterNotRunningException,
ZooKeeperConnectionException,
IOException
HBaseAdmin(HConnection connection)c - Configuration object. Copied internally.MasterNotRunningExceptionZooKeeperConnectionExceptionIOExceptionpublic HBaseAdmin(HConnection connection) throws MasterNotRunningException, ZooKeeperConnectionException
connection - The HConnection instance to useMasterNotRunningException, - ZooKeeperConnectionException are not
thrown anymore but kept into the interface for backward api compatibilityMasterNotRunningExceptionZooKeeperConnectionExceptionpublic void abort(String why, Throwable e)
Abortablepublic boolean isAborted()
Abortablepublic HConnection getConnection()
public boolean isMasterRunning()
throws MasterNotRunningException,
ZooKeeperConnectionException
ZooKeeperConnectionExceptionMasterNotRunningExceptionpublic boolean tableExists(TableName tableName) throws IOException
tableName - Table to check.IOExceptionpublic boolean tableExists(byte[] tableName)
throws IOException
IOExceptionpublic boolean tableExists(String tableName) throws IOException
IOExceptionpublic HTableDescriptor[] listTables() throws IOException
IOException - if a remote or network exception occurspublic HTableDescriptor[] listTables(Pattern pattern) throws IOException
pattern - The compiled regular expression to match againstIOException - if a remote or network exception occurslistTables()public HTableDescriptor[] listTables(String regex) throws IOException
regex - The regular expression to match againstIOException - if a remote or network exception occurslistTables(java.util.regex.Pattern)@Deprecated public String[] getTableNames() throws IOException
IOException - if a remote or network exception occurs@Deprecated public String[] getTableNames(Pattern pattern) throws IOException
pattern - The regular expression to match againstIOException - if a remote or network exception occurs@Deprecated public String[] getTableNames(String regex) throws IOException
regex - The regular expression to match againstIOException - if a remote or network exception occurspublic TableName[] listTableNames() throws IOException
IOException - if a remote or network exception occurspublic HTableDescriptor getTableDescriptor(TableName tableName) throws TableNotFoundException, IOException
tableName - as a byte []TableNotFoundExceptionIOException - if a remote or network exception occurspublic HTableDescriptor getTableDescriptor(byte[] tableName) throws TableNotFoundException, IOException
TableNotFoundExceptionIOExceptionpublic void createTable(HTableDescriptor desc) throws IOException
desc - table descriptor for tableIllegalArgumentException - 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).IOException - if a remote or network exception occurspublic void createTable(HTableDescriptor desc, byte[] startKey, byte[] endKey, int numRegions) throws IOException
desc - table descriptor for tablestartKey - beginning of key rangeendKey - end of key rangenumRegions - the total number of regions to createIllegalArgumentException - 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).IOExceptionpublic void createTable(HTableDescriptor desc, byte[][] splitKeys) throws IOException
desc - table descriptor for tablesplitKeys - array of split keys for the initial regions of the tableIllegalArgumentException - 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).IOExceptionpublic void createTableAsync(HTableDescriptor desc, byte[][] splitKeys) throws 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.desc - table descriptor for tableIllegalArgumentException - 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).IOExceptionpublic void deleteTable(String tableName) throws IOException
IOExceptionpublic void deleteTable(byte[] tableName)
throws IOException
IOExceptionpublic void deleteTable(TableName tableName) throws IOException
tableName - name of table to deleteIOException - if a remote or network exception occurspublic HTableDescriptor[] deleteTables(String regex) throws IOException
listTables(java.lang.String) and
deleteTable(byte[])regex - The regular expression to match table names againstIOExceptiondeleteTables(java.util.regex.Pattern),
deleteTable(java.lang.String)public HTableDescriptor[] deleteTables(Pattern pattern) throws IOException
listTables(java.util.regex.Pattern) and
deleteTable(byte[])pattern - The pattern to match table names againstIOExceptionpublic void enableTable(TableName tableName) throws IOException
enableTableAsync(byte[])
and isTableEnabled(byte[]) instead.
The table has to be in disabled state for it to be enabled.tableName - name of the tableIOException - 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 IOException
IOExceptionpublic void enableTable(String tableName) throws IOException
IOExceptionpublic void enableTableAsync(TableName tableName) throws IOException
isTableEnabled(byte[]) to learn when table is fully online. If
table is taking too long to online, check server logs.tableName - IOExceptionpublic void enableTableAsync(byte[] tableName)
throws IOException
IOExceptionpublic void enableTableAsync(String tableName) throws IOException
IOExceptionpublic HTableDescriptor[] enableTables(String regex) throws IOException
listTables(java.lang.String) and
enableTable(byte[])regex - The regular expression to match table names againstIOExceptionenableTables(java.util.regex.Pattern),
enableTable(java.lang.String)public HTableDescriptor[] enableTables(Pattern pattern) throws IOException
listTables(java.util.regex.Pattern) and
enableTable(byte[])pattern - The pattern to match table names againstIOExceptionpublic void disableTableAsync(TableName tableName) throws IOException
isTableDisabled(byte[]) to check for when disable completes.
If table is taking too long to online, check server logs.tableName - name of tableIOException - if a remote or network exception occursisTableDisabled(byte[]),
isTableEnabled(byte[])public void disableTableAsync(byte[] tableName)
throws IOException
IOExceptionpublic void disableTableAsync(String tableName) throws IOException
IOExceptionpublic void disableTable(TableName tableName) throws IOException
disableTableAsync(byte[]) and isTableDisabled(String)
instead.
The table has to be in enabled state for it to be disabled.tableName - 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 IOException
IOExceptionpublic void disableTable(String tableName) throws IOException
IOExceptionpublic HTableDescriptor[] disableTables(String regex) throws IOException
listTables(java.lang.String) and
disableTable(byte[])regex - The regular expression to match table names againstIOExceptiondisableTables(java.util.regex.Pattern),
disableTable(java.lang.String)public HTableDescriptor[] disableTables(Pattern pattern) throws IOException
listTables(java.util.regex.Pattern) and
disableTable(byte[])pattern - The pattern to match table names againstIOExceptionpublic boolean isTableEnabled(TableName tableName) throws IOException
tableName - name of table to checkIOException - if a remote or network exception occurspublic boolean isTableEnabled(byte[] tableName)
throws IOException
IOExceptionpublic boolean isTableEnabled(String tableName) throws IOException
IOExceptionpublic boolean isTableDisabled(TableName tableName) throws IOException
tableName - name of table to checkIOException - if a remote or network exception occurspublic boolean isTableDisabled(byte[] tableName)
throws IOException
IOExceptionpublic boolean isTableDisabled(String tableName) throws IOException
IOExceptionpublic boolean isTableAvailable(TableName tableName) throws IOException
tableName - name of table to checkIOException - if a remote or network exception occurspublic boolean isTableAvailable(byte[] tableName)
throws IOException
IOExceptionpublic boolean isTableAvailable(String tableName) throws IOException
IOExceptionpublic boolean isTableAvailable(TableName tableName, byte[][] splitKeys) throws IOException
tableName - name of table to checksplitKeys - keys to check if the table has been created with all split keysIOException - if a remote or network excpetion occurspublic boolean isTableAvailable(byte[] tableName,
byte[][] splitKeys)
throws IOException
IOExceptionpublic boolean isTableAvailable(String tableName, byte[][] splitKeys) throws IOException
IOExceptionpublic Pair<Integer,Integer> getAlterStatus(TableName tableName) throws IOException
tableName - TableName instanceIOException - if a remote or network exception occurspublic Pair<Integer,Integer> getAlterStatus(byte[] tableName) throws IOException
tableName - name of the table to get the status ofIOException - if a remote or network exception occurspublic void addColumn(byte[] tableName,
HColumnDescriptor column)
throws IOException
tableName - name of the table to add column tocolumn - column descriptor of column to be addedIOException - if a remote or network exception occurspublic void addColumn(String tableName, HColumnDescriptor column) throws IOException
tableName - name of the table to add column tocolumn - column descriptor of column to be addedIOException - if a remote or network exception occurspublic void addColumn(TableName tableName, HColumnDescriptor column) throws IOException
tableName - name of the table to add column tocolumn - column descriptor of column to be addedIOException - if a remote or network exception occurspublic void deleteColumn(byte[] tableName,
String columnName)
throws IOException
tableName - name of tablecolumnName - name of column to be deletedIOException - if a remote or network exception occurspublic void deleteColumn(String tableName, String columnName) throws IOException
tableName - name of tablecolumnName - name of column to be deletedIOException - if a remote or network exception occurspublic void deleteColumn(TableName tableName, byte[] columnName) throws IOException
tableName - name of tablecolumnName - name of column to be deletedIOException - if a remote or network exception occurspublic void modifyColumn(String tableName, HColumnDescriptor descriptor) throws IOException
tableName - name of tabledescriptor - new column descriptor to useIOException - if a remote or network exception occurspublic void modifyColumn(byte[] tableName,
HColumnDescriptor descriptor)
throws IOException
tableName - name of tabledescriptor - new column descriptor to useIOException - if a remote or network exception occurspublic void modifyColumn(TableName tableName, HColumnDescriptor descriptor) throws IOException
tableName - name of tabledescriptor - new column descriptor to useIOException - if a remote or network exception occurspublic void closeRegion(String regionname, String serverName) throws IOException
regionname - region name to closeserverName - If supplied, we'll use this location rather than
the one currently in hbase:metaIOException - if a remote or network exception occurspublic void closeRegion(byte[] regionname,
String serverName)
throws IOException
regionname - 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,1289493121758IOException - if a remote or network exception occurspublic boolean closeRegionWithEncodedRegionName(String encodedRegionName, String serverName) throws IOException
encodedRegionName - 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,1289493121758IOException - if a remote or network exception occurspublic void closeRegion(ServerName sn, HRegionInfo hri) throws IOException
sn - hri - IOExceptionpublic List<HRegionInfo> getOnlineRegions(ServerName sn) throws IOException
IOExceptionpublic void flush(String tableNameOrRegionName) throws IOException, InterruptedException
tableNameOrRegionName - table or region to flushIOException - if a remote or network exception occursInterruptedExceptionpublic void flush(byte[] tableNameOrRegionName)
throws IOException,
InterruptedException
tableNameOrRegionName - table or region to flushIOException - if a remote or network exception occursInterruptedExceptionpublic void compact(String tableNameOrRegionName) throws IOException, InterruptedException
tableNameOrRegionName - table or region to compactIOException - if a remote or network exception occursInterruptedExceptionpublic void compact(byte[] tableNameOrRegionName)
throws IOException,
InterruptedException
tableNameOrRegionName - table or region to compactIOException - if a remote or network exception occursInterruptedExceptionpublic void compact(String tableOrRegionName, String columnFamily) throws IOException, InterruptedException
tableOrRegionName - table or region to compactcolumnFamily - column family within a table or regionIOException - if a remote or network exception occursInterruptedExceptionpublic void compact(byte[] tableNameOrRegionName,
byte[] columnFamily)
throws IOException,
InterruptedException
tableNameOrRegionName - table or region to compactcolumnFamily - column family within a table or regionIOException - if a remote or network exception occursInterruptedExceptionpublic void majorCompact(String tableNameOrRegionName) throws IOException, InterruptedException
tableNameOrRegionName - table or region to major compactIOException - if a remote or network exception occursInterruptedExceptionpublic void majorCompact(byte[] tableNameOrRegionName)
throws IOException,
InterruptedException
tableNameOrRegionName - table or region to major compactIOException - if a remote or network exception occursInterruptedExceptionpublic void majorCompact(String tableNameOrRegionName, String columnFamily) throws IOException, InterruptedException
tableNameOrRegionName - table or region to major compactcolumnFamily - column family within a table or regionIOException - if a remote or network exception occursInterruptedExceptionpublic void majorCompact(byte[] tableNameOrRegionName,
byte[] columnFamily)
throws IOException,
InterruptedException
tableNameOrRegionName - table or region to major compactcolumnFamily - column family within a table or regionIOException - if a remote or network exception occursInterruptedExceptionpublic void move(byte[] encodedRegionName,
byte[] destServerName)
throws HBaseIOException,
MasterNotRunningException,
ZooKeeperConnectionException
r to dest.encodedRegionName - 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
encodedRegionNameZooKeeperConnectionExceptionMasterNotRunningExceptionHBaseIOExceptionpublic void assign(byte[] regionName)
throws MasterNotRunningException,
ZooKeeperConnectionException,
IOException
regionName - Region name to assign.MasterNotRunningExceptionZooKeeperConnectionExceptionIOExceptionpublic void unassign(byte[] regionName,
boolean force)
throws MasterNotRunningException,
ZooKeeperConnectionException,
IOException
move(byte[], byte[]) if you want
to control the region movement.regionName - 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).MasterNotRunningExceptionZooKeeperConnectionExceptionIOExceptionpublic void offline(byte[] regionName)
throws IOException
regionName - Region to offline.IOExceptionpublic boolean setBalancerRunning(boolean on,
boolean synchronous)
throws MasterNotRunningException,
ZooKeeperConnectionException
on - If true, enable balancer. If false, disable balancer.synchronous - If true, it waits until current balance() call, if outstanding, to return.MasterNotRunningExceptionZooKeeperConnectionExceptionpublic boolean balancer()
throws MasterNotRunningException,
ZooKeeperConnectionException,
com.google.protobuf.ServiceException
MasterNotRunningExceptionZooKeeperConnectionExceptioncom.google.protobuf.ServiceExceptionpublic boolean enableCatalogJanitor(boolean enable)
throws com.google.protobuf.ServiceException,
MasterNotRunningException
enable - if true enables the catalog janitorcom.google.protobuf.ServiceExceptionMasterNotRunningExceptionpublic int runCatalogScan()
throws com.google.protobuf.ServiceException,
MasterNotRunningException
com.google.protobuf.ServiceExceptionMasterNotRunningExceptionpublic boolean isCatalogJanitorEnabled()
throws com.google.protobuf.ServiceException,
MasterNotRunningException
com.google.protobuf.ServiceExceptionMasterNotRunningExceptionpublic void mergeRegions(byte[] encodedNameOfRegionA,
byte[] encodedNameOfRegionB,
boolean forcible)
throws IOException
encodedNameOfRegionA - encoded name of region aencodedNameOfRegionB - encoded name of region bforcible - true if do a compulsory merge, otherwise we will only merge
two adjacent regionsIOExceptionpublic void split(String tableNameOrRegionName) throws IOException, InterruptedException
tableNameOrRegionName - table or region to splitIOException - if a remote or network exception occursInterruptedExceptionpublic void split(byte[] tableNameOrRegionName)
throws IOException,
InterruptedException
tableNameOrRegionName - table to region to splitIOException - if a remote or network exception occursInterruptedExceptionpublic void split(String tableNameOrRegionName, String splitPoint) throws IOException, InterruptedException
IOExceptionInterruptedExceptionpublic void split(byte[] tableNameOrRegionName,
byte[] splitPoint)
throws IOException,
InterruptedException
tableNameOrRegionName - table to region to splitsplitPoint - the explicit position to split onIOException - if a remote or network exception occursInterruptedException - interrupt exception occurredpublic void modifyTable(TableName tableName, HTableDescriptor htd) throws IOException
tableName - name of table.htd - modified description of the tableIOException - if a remote or network exception occurspublic void modifyTable(byte[] tableName,
HTableDescriptor htd)
throws IOException
IOExceptionpublic void modifyTable(String tableName, HTableDescriptor htd) throws IOException
IOExceptionpublic void shutdown()
throws IOException
IOException - if a remote or network exception occurspublic void stopMaster()
throws IOException
IOException - if a remote or network exception occursshutdown()public void stopRegionServer(String hostnamePort) throws IOException
hostnamePort - Hostname and port delimited by a : as in
example.org:1234IOException - if a remote or network exception occurspublic ClusterStatus getClusterStatus() throws IOException
IOException - if a remote or network exception occurspublic org.apache.hadoop.conf.Configuration getConfiguration()
public void createNamespace(NamespaceDescriptor descriptor) throws IOException
descriptor - descriptor which describes the new namespaceIOExceptionpublic void modifyNamespace(NamespaceDescriptor descriptor) throws IOException
descriptor - descriptor which describes the new namespaceIOExceptionpublic void deleteNamespace(String name) throws IOException
name - namespace nameIOExceptionpublic NamespaceDescriptor getNamespaceDescriptor(String name) throws IOException
name - name of namespace descriptorIOExceptionpublic NamespaceDescriptor[] listNamespaceDescriptors() throws IOException
IOExceptionpublic HTableDescriptor[] listTableDescriptorsByNamespace(String name) throws IOException
name - namespace nameIOExceptionpublic TableName[] listTableNamesByNamespace(String name) throws IOException
name - namespace nameIOExceptionpublic static void checkHBaseAvailable(org.apache.hadoop.conf.Configuration conf)
throws MasterNotRunningException,
ZooKeeperConnectionException,
com.google.protobuf.ServiceException,
IOException
conf - system configurationMasterNotRunningException - if the master is not runningZooKeeperConnectionException - if unable to connect to zookeepercom.google.protobuf.ServiceExceptionIOExceptionpublic List<HRegionInfo> getTableRegions(TableName tableName) throws IOException
tableName - the name of the tableHRegionInfo.IOExceptionpublic List<HRegionInfo> getTableRegions(byte[] tableName) throws IOException
IOExceptionpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOExceptionpublic HTableDescriptor[] getTableDescriptorsByTableName(List<TableName> tableNames) throws IOException
tableNames - List of table namesIOException - if a remote or network exception occurspublic HTableDescriptor[] getTableDescriptors(List<String> names) throws IOException
names - List of table namesIOException - if a remote or network exception occurspublic byte[][] rollHLogWriter(String serverName) throws IOException, FailedLogCloseException
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()IOException - if a remote or network exception occursFailedLogCloseExceptionpublic String[] getMasterCoprocessors()
public AdminProtos.GetRegionInfoResponse.CompactionState getCompactionState(String tableNameOrRegionName) throws IOException, InterruptedException
tableNameOrRegionName - table or region to major compactIOException - if a remote or network exception occursInterruptedExceptionpublic AdminProtos.GetRegionInfoResponse.CompactionState getCompactionState(byte[] tableNameOrRegionName) throws IOException, InterruptedException
tableNameOrRegionName - table or region to major compactIOException - if a remote or network exception occursInterruptedExceptionpublic void snapshot(String snapshotName, TableName tableName) throws IOException, SnapshotCreationException, 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[]).
snapshotName - name of the snapshot to be createdtableName - name of the table for which snapshot is createdIOException - if a remote or network exception occursSnapshotCreationException - if snapshot creation failedIllegalArgumentException - if the snapshot request is formatted incorrectlypublic void snapshot(String snapshotName, String tableName) throws IOException, SnapshotCreationException, IllegalArgumentException
public void snapshot(byte[] snapshotName,
byte[] tableName,
HBaseProtos.SnapshotDescription.Type flushType)
throws IOException,
SnapshotCreationException,
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 firstIOException - if a remote or network exception occursSnapshotCreationException - if snapshot creation failedIllegalArgumentException - if the snapshot request is formatted incorrectlypublic void snapshot(byte[] snapshotName,
TableName tableName)
throws IOException,
SnapshotCreationException,
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 createdIOException - if a remote or network exception occursSnapshotCreationException - if snapshot creation failedIllegalArgumentException - if the snapshot request is formatted incorrectlypublic void snapshot(byte[] snapshotName,
byte[] tableName)
throws IOException,
SnapshotCreationException,
IllegalArgumentException
public void snapshot(String snapshotName, TableName tableName, HBaseProtos.SnapshotDescription.Type type) throws IOException, SnapshotCreationException, 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[]).
snapshotName - 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 takeIOException - we fail to reach the masterSnapshotCreationException - if snapshot creation failedIllegalArgumentException - if the snapshot request is formatted incorrectlypublic void snapshot(String snapshotName, String tableName, HBaseProtos.SnapshotDescription.Type type) throws IOException, SnapshotCreationException, IllegalArgumentException
public void snapshot(String snapshotName, byte[] tableName, HBaseProtos.SnapshotDescription.Type type) throws IOException, SnapshotCreationException, IllegalArgumentException
public void snapshot(HBaseProtos.SnapshotDescription snapshot) throws IOException, SnapshotCreationException, 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 - snapshot to takeIOException - or we lose contact with the master.SnapshotCreationException - if snapshot failed to be takenIllegalArgumentException - if the snapshot request is formatted incorrectlypublic MasterProtos.SnapshotResponse takeSnapshotAsync(HBaseProtos.SnapshotDescription snapshot) throws IOException, SnapshotCreationException
Only a single snapshot should be taken at a time, or results may be undefined.
snapshot - snapshot to takeIOException - if the snapshot did not succeed or we lose contact with the master.SnapshotCreationException - if snapshot creation failedIllegalArgumentException - if the snapshot request is formatted incorrectlypublic boolean isSnapshotFinished(HBaseProtos.SnapshotDescription snapshot) throws 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.
snapshot - description of the snapshot to checkIOException - if we have a network issueHBaseSnapshotException - if the snapshot failedUnknownSnapshotException - if the requested snapshot is unknownpublic void restoreSnapshot(byte[] snapshotName)
throws IOException,
RestoreSnapshotException
snapshotName - name of the snapshot to restoreIOException - if a remote or network exception occursRestoreSnapshotException - if snapshot failed to be restoredIllegalArgumentException - if the restore request is formatted incorrectlypublic void restoreSnapshot(String snapshotName) throws IOException, RestoreSnapshotException
snapshotName - name of the snapshot to restoreIOException - if a remote or network exception occursRestoreSnapshotException - if snapshot failed to be restoredIllegalArgumentException - if the restore request is formatted incorrectlypublic void restoreSnapshot(byte[] snapshotName,
boolean takeFailSafeSnapshot)
throws IOException,
RestoreSnapshotException
snapshotName - name of the snapshot to restoretakeFailSafeSnapshot - true if the failsafe snapshot should be takenIOException - if a remote or network exception occursRestoreSnapshotException - if snapshot failed to be restoredIllegalArgumentException - if the restore request is formatted incorrectlypublic void restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot) throws IOException, RestoreSnapshotException
snapshotName - name of the snapshot to restoretakeFailSafeSnapshot - true if the failsafe snapshot should be takenIOException - if a remote or network exception occursRestoreSnapshotException - if snapshot failed to be restoredIllegalArgumentException - if the restore request is formatted incorrectlypublic void cloneSnapshot(byte[] snapshotName,
byte[] tableName)
throws IOException,
TableExistsException,
RestoreSnapshotException,
InterruptedException
snapshotName - name of the snapshot to be clonedtableName - name of the table where the snapshot will be restoredIOException - if a remote or network exception occursTableExistsException - if table to be created already existsRestoreSnapshotException - if snapshot failed to be clonedIllegalArgumentException - if the specified table has not a valid nameInterruptedExceptionpublic void cloneSnapshot(byte[] snapshotName,
TableName tableName)
throws IOException,
TableExistsException,
RestoreSnapshotException,
InterruptedException
snapshotName - name of the snapshot to be clonedtableName - name of the table where the snapshot will be restoredIOException - if a remote or network exception occursTableExistsException - if table to be created already existsRestoreSnapshotException - if snapshot failed to be clonedIllegalArgumentException - if the specified table has not a valid nameInterruptedExceptionpublic void cloneSnapshot(String snapshotName, String tableName) throws IOException, TableExistsException, RestoreSnapshotException, InterruptedException
snapshotName - name of the snapshot to be clonedtableName - name of the table where the snapshot will be restoredIOException - if a remote or network exception occursTableExistsException - if table to be created already existsRestoreSnapshotException - if snapshot failed to be clonedIllegalArgumentException - if the specified table has not a valid nameInterruptedExceptionpublic void cloneSnapshot(String snapshotName, TableName tableName) throws IOException, TableExistsException, RestoreSnapshotException, InterruptedException
snapshotName - name of the snapshot to be clonedtableName - name of the table where the snapshot will be restoredIOException - if a remote or network exception occursTableExistsException - if table to be created already existsRestoreSnapshotException - if snapshot failed to be clonedIllegalArgumentException - if the specified table has not a valid nameInterruptedExceptionpublic void execProcedure(String signature, String instance, Map<String,String> props) throws IOException
signature - 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 procedureIOExceptionpublic boolean isProcedureFinished(String signature, String instance, Map<String,String> props) throws IOException
There are three possible states:
signature - The signature that uniquely identifies a procedureinstance - The instance name of the procedureprops - Property/Value pairs of properties passing to the procedureIOException - if the specified procedure finished with errorpublic List<HBaseProtos.SnapshotDescription> listSnapshots() throws IOException
IOException - if a network error occurspublic List<HBaseProtos.SnapshotDescription> listSnapshots(String regex) throws IOException
regex - The regular expression to match againstIOException - if a remote or network exception occurspublic List<HBaseProtos.SnapshotDescription> listSnapshots(Pattern pattern) throws IOException
pattern - The compiled regular expression to match againstIOException - if a remote or network exception occurspublic void deleteSnapshot(byte[] snapshotName)
throws IOException
snapshotName - name of the snapshotIOException - if a remote or network exception occurspublic void deleteSnapshot(String snapshotName) throws IOException
snapshotName - name of the snapshotIOException - if a remote or network exception occurspublic void deleteSnapshots(String regex) throws IOException
regex - The regular expression to match againstIOException - if a remote or network exception occurspublic void deleteSnapshots(Pattern pattern) throws IOException
pattern - pattern for names of the snapshot to matchIOException - if a remote or network exception occurspublic CoprocessorRpcChannel coprocessorService()
RpcChannel instance
connected to the active master.
The obtained RpcChannel instance can be used to access a published
coprocessor 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);
Copyright © 2014 The Apache Software Foundation. All rights reserved.