全部产品
云市场

HBase备份恢复-使用手册

更新时间:2020-03-20 12:41:26

基本介绍

基于BDS的数据迁移把HFIle、HLOG备份到OSS。

产品功能及优势

  • 实时增量同步,RPO小于30s
  • 默认全库备份,支持对单表进行恢复
  • 指定时间点恢复
  • 对用户集群存储空间影响小
    无需打SNAPSHOT,自动探测HFile变化;云HBase开通Exporter服务后,Log在备份后即可删除,对用户集群存储空间影响小。

使用场景

  • 对云HBase增强版、标准版进行备份恢复
  • 对ECS自建HBase集群进行备份恢复
  • 对IDC、其他云HBase进行备份恢复

使用限制

  • 仅支持HBase1.x、HBase2.x 及 HBase增强版。
  • 不支持对SOLR数据进行备份恢复。
  • 因空间不足会导致备份中断,保留已有数据和停止备份。

基本操作

购买、开通bds冷存储

在新购bds实例的时直接选择开通冷存储,入下图所示:

bds-add-cold-storage节点规模和存储空间大小请参考FAQ评估,注意:空间不足会导致备份中断。

网络打通&数据源注册

自建实例

BDS实例需要和HBase实例在一个VPC下。其他特殊环境请联系@云hbase答疑
网络打通可以参考,高可用-同城主备 -自建实例网络打通节, 链接
数据源注册,参考hbase数据源-自建实例章节:链接

云hbase
  • 标准版网络打通&数据源注册,参考:链接
  • 增强版网络打通&数据源注册,参考:链接

创建备份计划

  1. 进入备份恢复页面,选择”创建备份计划” bds-create-backup-plan
  2. 创建备份计划页面add-backup-plan

    配置以下参数

    • 备份集群
      指定需要备份的集群
    • 全量备份周期
      多久触发一次全量备份, 默认7天
      可选时间范围是3~10天,太小可能在一个周期内无法完成,太长的则会影响数据恢复时间。
    • 首次全量备份时间
    • 全量备份保留时间
      全量备份保存多久,系统会至少保留一个成功的全量备份。
    • 日志保留时间
      增量备份保留多久,需要大于全量备份周期。
    • 备份的表
      支持通配符,比如default:test*会备份 default Namespace下test打头的表;如果要备份全库可以直接填*. 注意: 填写时不需要带双引号.

    创建备份计划前请参考FAQ估算下存储空间是否够用,备份空间不足会导致备份中断,请合理设置保留周期和保留时长;成功后,从备份恢复计划列表页面进入备份计划页面。

发起数据恢复

进入备份计划页面,然后发起恢复。create-restore-record

进入恢复数据页面do-add-restore-record

设置以下参数:

  • 目的集群
    恢复的目的集群
  • 恢复时间
    先选“可选时间范围”,典型的值是一个时间段+多个全量备份结束时间点。
    然后选择具体恢复时间点。
  • 通过Copy方式恢复数据
    默认通过copy的方式把数据恢复到源集群,在Hbase增强版中支持原地拉起的方式直接访问备份的数据。
  • 恢复表
    可以选择恢复的表,支持表重命名。
    比如default:test_table1/default:test_table2,意思是把default下namespace下的test_table1恢复到表test_table2.

发起恢复后可以进入恢复记录详情页面查看恢复进度。
恢复有3个过程:

  1. 表shema 恢复
    带分区恢复表结构,表shema恢复后,业务可以恢复写入。
  2. 全量数据恢复 & 数据装载
    把备份的hfile copy到目的集群,然后bulkLoad到目标表。
    全量恢复完成后,业务可以恢复不一致读。
  3. 增量数据恢复
    增量恢复是把备份的LOG,回放到目的集群。
    增量恢复期间,业务可以恢复不一致读,待增量恢复结束后,恢复一致读。

调整备份、恢复速度

备份恢复任务并发在bds worker执行,默认单机3个hfile迁移线程,单线程限速10MB,可以释放调整来调整备份、恢复速度。
在BDS配置页面可以进行调整,备份、恢复期间会对目标或目的集群网络、IO产生压力,调整速度注意对集群的影响。

产品定价

收费项

计费项包括bds实例、冷存储,具体价格参考:
BDS定价及开通参考:链接
冷存储价格参考:链接

欠费说明

BDS实例在欠费后,会保留7天,期间会停止备份服务;如果不及时续费导致实例被释放,则bds关联的冷存储会被一并释放,备份数据会被清理掉。

FAQ

备份恢复空间评估

备份恢复存储空间= 全量空间大小 + 增量空间大小

全量空间 = (保留全备个数 + 1) * 单个全备大小
保留全备个数+1的原因是只有在新备份完成后才会淘汰旧数据,在备份的过程中需要额外一份全备空间。
全量空间大小可以在HBase Master页面或者UE集群管理页面获取。

增量空间 = 日志保留天数 * 每天增量LOG大小
假设平均1MB/s的写入, 每天需要84GB的空间;集群写入速度可以通过监控获取,或者请联系@云Hbase答疑评估。对于写入量大的集群,LOG的日增量会很大,可以通过适当减小全备周期来减少LOG存储量。

请合理评估使用空间, 用超以后,会导致备份中断。

备份恢复节点数目评估

节点数评估取决于两个因素

  1. 全量数据大小
    全量数据一般需要在3天之内备份完成,一个BDS节点可以50~100MB的备份速度,可以按数据量评估所需节点数目。
  2. 源集群规模
    一个BDS实例可以最多处理5个源集群的实时LOG写入,BDS集群规模只要要和源集群1:5

PS: BDS集群有一个Master节点负责协调,比如购买2节点集群,实际只有1个节点在工作,因此购买是需要多买一个节点。

故障时最近可以恢复到哪个时间点?

正常不积压情况下,取决于持久hbase log到oss周期,默认是30M或30s刷新一次,最多丢30s数据。

多长时间可以恢复?

取决于数据量和带宽限制。
全量数据恢复速度: OSS最大带宽1GB/s, BDS单机100MB/s.
增量数据恢复速度: HBase目的集群单机30~40MB/s写入,BDS单机100MB/s。

支持单表恢复吗?

支持,如果有同名表还可以恢复到另外的表中。

支持备份恢复phoenix表吗?索引表和主表之间的一致性怎么保证?

部分支持,因为在宕机后,主表和索引表LOG可能进度不一致,直接回放可能导致索引表和主表进度不一致;可以只回放主表,结束后rebulid索引。具体请联系@云hbase答疑。

支持跨版本备份恢复吗?

不支持。