@InterfaceAudience.Private @InterfaceStability.Evolving public class BackupManager extends java.lang.Object implements java.io.Closeable
| Constructor and Description |
|---|
BackupManager(Configuration conf)
Backup manager constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addIncrementalBackupTableSet(java.util.Set<TableName> tables)
Adds set of tables to overall incremental backup table set
|
void |
close()
Stop all the work of backup.
|
BackupInfo |
createBackupInfo(java.lang.String backupId,
BackupType type,
java.util.List<TableName> tableList,
java.lang.String targetRootDir,
int workers,
long bandwidth)
Create a BackupContext based on input backup request.
|
static void |
decorateMasterConfiguration(Configuration conf)
This method modifies the master's configuration in order to inject backup-related features
|
static void |
decorateRSConfiguration(Configuration conf)
This method modifies the RS configuration in order to inject backup-related features
|
java.util.ArrayList<BackupManifest.BackupImage> |
getAncestors(BackupInfo backupCtx)
Get direct ancestors of the current backup.
|
java.util.ArrayList<BackupManifest.BackupImage> |
getAncestors(BackupInfo backupContext,
TableName table)
Get the direct ancestors of this backup for one table involved.
|
protected BackupInfo |
getBackupContext()
Return backup context
|
java.util.ArrayList<BackupInfo> |
getBackupHistory()
Get all completed backup information (in desc order by time)
|
java.util.ArrayList<BackupInfo> |
getBackupHistory(boolean completed) |
Connection |
getConnection() |
java.util.Set<TableName> |
getIncrementalBackupTableSet()
Return the current tables covered by incremental backup.
|
java.util.Iterator<org.apache.hadoop.hbase.backup.impl.BackupSystemTable.WALItem> |
getWALFilesFromBackupSystem()
Get WAL files iterator
|
void |
initialize()
Start the backup manager service.
|
static boolean |
isBackupEnabled(Configuration conf) |
java.lang.String |
readBackupStartCode()
Read the last backup start code (timestamp) of last successful backup.
|
java.util.HashMap<TableName,java.util.HashMap<java.lang.String,java.lang.Long>> |
readLogTimestampMap()
Read the timestamp for each region server log after the last successful backup.
|
Pair<java.util.Map<TableName,java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.List<Pair<java.lang.String,java.lang.Boolean>>>>>,java.util.List<byte[]>> |
readOrigBulkloadRows(java.util.List<TableName> tableList) |
java.util.HashMap<java.lang.String,java.lang.Long> |
readRegionServerLastLogRollResult()
Get the RS log information after the last log roll from hbase:backup.
|
void |
recordWALFiles(java.util.List<java.lang.String> files)
Saves list of WAL files after incremental backup operation.
|
void |
removeOrigBulkLoadedRows(java.util.List<TableName> lst,
java.util.List<byte[]> rows) |
void |
setBackupInfo(BackupInfo backupInfo) |
void |
updateBackupInfo(BackupInfo context)
Updates status (state) of a backup session in a persistent store
|
void |
writeBackupStartCode(java.lang.Long startCode)
Write the start code (timestamp) to hbase:backup.
|
void |
writeBulkLoadedFiles(java.util.List<TableName> sTableList,
java.util.Map<byte[],java.util.List<Path>>[] maps) |
void |
writeRegionServerLogTimestamp(java.util.Set<TableName> tables,
java.util.HashMap<java.lang.String,java.lang.Long> newTimestamps)
Write the current timestamps for each regionserver to hbase:backup after a successful full or
incremental backup.
|
public BackupManager(Configuration conf)
throws java.io.IOException
conf - configurationjava.io.IOException - exceptionprotected BackupInfo getBackupContext()
public static void decorateMasterConfiguration(Configuration conf)
conf - configurationpublic static void decorateRSConfiguration(Configuration conf)
conf - configurationpublic static boolean isBackupEnabled(Configuration conf)
public void close()
close in interface java.io.Closeableclose in interface java.lang.AutoCloseablepublic BackupInfo createBackupInfo(java.lang.String backupId, BackupType type, java.util.List<TableName> tableList, java.lang.String targetRootDir, int workers, long bandwidth) throws BackupException
backupId - backup idtype - typetablelist - table listtargetRootDir - root dirsnapshot - snapshot nameBackupException - exceptionpublic void initialize()
throws java.io.IOException
java.io.IOException - exceptionpublic void setBackupInfo(BackupInfo backupInfo)
public java.util.ArrayList<BackupManifest.BackupImage> getAncestors(BackupInfo backupCtx) throws java.io.IOException, BackupException
backupCtx - The backup context for the current backupjava.io.IOException - exceptionBackupException - exceptionpublic java.util.ArrayList<BackupManifest.BackupImage> getAncestors(BackupInfo backupContext, TableName table) throws BackupException, java.io.IOException
backupContext - backup contexttable - tableBackupException - exceptionjava.io.IOException - exceptionpublic void updateBackupInfo(BackupInfo context) throws java.io.IOException
context - contextjava.io.IOException - exceptionpublic java.lang.String readBackupStartCode()
throws java.io.IOException
java.io.IOException - exceptionpublic void writeBackupStartCode(java.lang.Long startCode)
throws java.io.IOException
startCode - start codejava.io.IOException - exceptionpublic Pair<java.util.Map<TableName,java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.List<Pair<java.lang.String,java.lang.Boolean>>>>>,java.util.List<byte[]>> readOrigBulkloadRows(java.util.List<TableName> tableList) throws java.io.IOException
java.io.IOExceptionpublic void removeOrigBulkLoadedRows(java.util.List<TableName> lst, java.util.List<byte[]> rows) throws java.io.IOException
java.io.IOExceptionpublic void writeBulkLoadedFiles(java.util.List<TableName> sTableList, java.util.Map<byte[],java.util.List<Path>>[] maps) throws java.io.IOException
java.io.IOExceptionpublic java.util.HashMap<java.lang.String,java.lang.Long> readRegionServerLastLogRollResult()
throws java.io.IOException
java.io.IOException - exceptionpublic java.util.ArrayList<BackupInfo> getBackupHistory() throws java.io.IOException
java.io.IOException - exceptionpublic java.util.ArrayList<BackupInfo> getBackupHistory(boolean completed) throws java.io.IOException
java.io.IOExceptionpublic void writeRegionServerLogTimestamp(java.util.Set<TableName> tables, java.util.HashMap<java.lang.String,java.lang.Long> newTimestamps) throws java.io.IOException
tables - tablesjava.io.IOException - exceptionpublic java.util.HashMap<TableName,java.util.HashMap<java.lang.String,java.lang.Long>> readLogTimestampMap() throws java.io.IOException
java.io.IOException - exceptionpublic java.util.Set<TableName> getIncrementalBackupTableSet() throws java.io.IOException
java.io.IOException - exceptionpublic void addIncrementalBackupTableSet(java.util.Set<TableName> tables) throws java.io.IOException
tables - tablesjava.io.IOException - exceptionpublic void recordWALFiles(java.util.List<java.lang.String> files)
throws java.io.IOException
java.io.IOExceptionpublic java.util.Iterator<org.apache.hadoop.hbase.backup.impl.BackupSystemTable.WALItem> getWALFilesFromBackupSystem()
throws java.io.IOException
java.io.IOExceptionpublic Connection getConnection()