Backing up and restoring Apache HBase datasets

Backup-and-restore is a standard set of operations for many databases. An effective
backup-and-restore strategy helps ensure that you can recover data in case of data loss or
failures. The HBase backup-and-restore utility helps ensure that enterprises using HBase as
a data repository can recover from these types of incidents. Another important feature of
the backup-and-restore utility is the ability to restore the database to a particular
point-in-time, commonly referred to as a snapshot.

The HBase backup-and-restore utility features both full backups
and incremental backups. A full backup is required at least once. The
full backup is the foundation on which incremental backups are applied to build iterative
snapshots. Incremental backups can be run on a schedule to capture changes over time, for
example by using a Cron job. Incremental backup is more cost effective because it only
captures the changes. It also enables you to restore the database to any incremental backup
version. Furthermore,the utilities also enable table-level data backup-and-recovery if you
do not want to restore the entire dataset of the backup.

Best practices for backup-and-restoreTo perform a successful backup-and-restore operation, you need to formulate a restore strategy and test it, store backup data from a production cluster on a different cluster or a server, secure a full backup image first, define and use backup sets for groups of tables and finally document the backup-and-restore strategy.

Running the backup-and-restore utilityTo run the backup-and-restore-utility tool, you can use the commands and the arguments of the operations such as create and maintain a complete backup image, monitor backup progress and restore a backup image.