一 策略总览与选型
| 方法 | 适用场景 | 优点 | 局限 |
|---|---|---|---|
| 表级快照 Snapshot | 快速回滚、开发/测试克隆、小中型表 | 秒级创建、空间占用小、在线操作 | 依赖 HDFS 快照能力,非跨集群容灾 |
| Export/Import MapReduce | 跨集群迁移、细粒度导出、离线归档 | 版本兼容友好、可选择性导出 | 导出/导入耗时、占用集群资源 |
| DistCp 拷贝 HDFS 目录 | 同版本集群迁移、整库/表空间级备份 | 吞吐高、适合大数据量 | 需停写或一致性窗口、版本需一致 |
| Backup/Restore 工具 | 跨集群/跨环境备份、定期全量+增量 | 备份元数据与数据一致、可编排 | 需启用备份功能、依赖 HBase 配置 |
二 备份策略与实施步骤
快照 Snapshot(表级、在线、快速)
snapshot 'tableA', 'snap_20251227_0000'list_snapshotsclone_snapshot 'snap_20251227_0000', 'tableA_bak'disable 'tableA' → restore_snapshot 'snap_20251227_0000' → enable 'tableA'Export/Import(跨集群迁移、离线归档)
hbase org.apache.hadoop.hbase.mapreduce.Export tableA /backup/export/tableA_20251227hbase org.apache.hadoop.hbase.mapreduce.Import tableA /backup/export/tableA_20251227DistCp 拷贝 HDFS 目录(整库/表空间级)
hadoop distcp hdfs:///hbase /backup/hbase_20251227hadoop distcp /backup/hbase_20251227 hdfs:///hbaseBackup/Restore 工具(全量+增量、可编排)
hbase backup create 'bk_20251227_full', '/backup/hbase_bk', --tables 'tableA,tableB'hbase backup create 'bk_20251227_incr', '/backup/hbase_bk', --tables 'tableA'hbase backup restore 'bk_20251227_full'(按需要指定时间点/增量链)三 恢复策略与操作要点
故障类型与快速处置
/hbase/logs/hbase-*-master-*.log。hbck -repair 检测并修复一致性问题(谨慎在生产环境执行)。hbase-site.xml 关键配置(如 Zookeeper quorum、rootdir、hfile.format.version),修正后重启。按备份手段的恢复流程
disable 'tableA' → restore_snapshot 'snap_20251227_0000' → enable 'tableA'clone_snapshot 'snap_20251227_0000', 'tableA_restore'Import 将对应目录导入到目标表(表结构需存在或兼容)。hbase backup restore 'backup_id',按需指定表、时间点与覆盖策略。四 自动化与容量规划
自动化与调度
0 2 * * * /usr/hbase/bin/hbase backup create 'daily_$(date +\%F)' --tables 'tableA,tableB'容量与性能建议
五 验证与演练
status 'simple'、scan 'tableA', {LIMIT => 1000} 等核对数据一致性与可用性;对关键业务场景进行抽样比对与回归测试。