MAPREDUCE服务 MRS-HBase数据:Snapshots

时间:2024-04-16 08:56:36

Snapshots

对表执行snapshot操作生成快照,既可以作为原表的备份,当原表出现问题的时候可以回滚恢复,也可以作为跨集群的数据备份工具。执行快照会在当前HBase上的根目录(默认为/hbase)生成“ .hbase-snapshot”目录,里面有每个快照的详细信息。当执行ExportSnapshot导出快照时,会在本地提交MR任务,将快照信息以及表的HFile分别拷贝到备集群的/hbase/.hbase-snapshot和/hbase/archive中。详情请参考http://hbase.apache.org/2.2/book.html#ops.snapshots

  • 该方式数据备份的优点:

    单表备份效率高,在线数据本地/远程备份,不中断主集群和备集群业务,可以灵活配置map的个数和限制流量,MapReduce的执行节点可不在主备集群(不占资源)。

  • 该方式数据备份的缺点和限制:

    只能单表操作,备份的表名在snapshot中已经指定无法更改,且无法增量备份,运行MR需要占用本地集群资源。

在主集群执行如下操作:

  1. 对表创建快照。例如对表member创建快照member_snapshot。

    snapshot 'member','member_snapshot'

  2. 将快照拷贝到备集群上。

    hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot member_snapshot -copy-to hdfs://备集群HDFS服务主NameNode节点IP:端口号/hbase -mappers 3

    • 备集群的数据目录必须为HBASE根目录(/hbase)
    • mappers表示MR任务需要提交的map个数

在备集群执行如下操作:

使用restore命令在备集群自动新建表,以及与archive里的HFile建立link。

restore_snapshot 'member_snapshot'

如果只是备份表数据的话,建议使用此种方式备份,SnapshotExport会在本地提交MR任务,将Snapshot和HFile拷贝到备集群,之后可以在备集群直接加载数据,效率比其他方式高很多。

support.huaweicloud.com/bestpractice-mrs/mrs_05_0039.html