HBase学习五:运维排障之备份与恢复

时间:2024-01-26 17:05:37

1 snapshot简介

1.1 发展史

  • distcp:关机全备份。HBase的所有文件都存储在HDFS上,因此只要使用Hadoop提供的文件复制工具distcp将HBASE目录复制到同一HDFS或者其他HDFS的另一个目录中,就可以完成对源HBase集群的备份工作

  • copyTable:在线跨集群备份。copyTable工具通过MapReduce程序全表扫描待备份表数据并写入另一个集群。存在下面问题

    • 1、备份时间长、不适合频繁备份
    • 2、只能保证行一致性,不能保证一致性
    • 3、需要全表扫描,影响读写性能
  • snapshot:基于快照原理实现。可以保证数据一致性,备份速度快。

1.2 功能

  • 全量/增量备份。任何数据库都需要具有备份的功能来实现数据的高可靠性,Snapshot可以非常方便地实现表的在线备份功能,并且对在线业务请求影响非常小。使用备份数据,用户可以在异常发生时快速回滚到指定快照点。

    • 使用场景一:通常情况下,对于重要的业务数据,建议每天执行一次Snapshot来保存数据的快照记录,并且定期清理过期快照,这样如果业务发生严重错误,可以回滚到之前的一个快照点。
    • 使用场景二:如果要对集群做重大升级,建议升级前对重要的表执行一次Snapshot,一旦升级有任何异常可以快速回滚到升级前。
  • 数据迁移。可以使用ExportSnapshot功能将快照导出到另一个集群,实现数据的迁移。

    • 使