@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.Closeable
close
in interface java.lang.AutoCloseable
public 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.IOException
public void removeOrigBulkLoadedRows(java.util.List<TableName> lst, java.util.List<byte[]> rows) throws java.io.IOException
java.io.IOException
public void writeBulkLoadedFiles(java.util.List<TableName> sTableList, java.util.Map<byte[],java.util.List<Path>>[] maps) throws java.io.IOException
java.io.IOException
public 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.IOException
public 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.IOException
public java.util.Iterator<org.apache.hadoop.hbase.backup.impl.BackupSystemTable.WALItem> getWALFilesFromBackupSystem() throws java.io.IOException
java.io.IOException
public Connection getConnection()