Hbase数据备份案例讲解
admin
2023-02-21 01:20:05
0

HBase的数据备份

1.1 基于HBase提供的类对表进行备份

  • 使用HBase提供的类把HBase中某张表的数据导出到HDFS,之后再导出到测试hbase表中。

  • (1) ==从hbase表导出到HDFS==

    [hadoop@node01 shells]$ hbase org.apache.hadoop.hbase.mapreduce.Export myuser /hbase_data/myuser_bak
    
  • (2) ==文件导入hbase表==

    hbase shell中创建备份目标表

    create 'myuser_bak','f1','f2'
  • 将HDFS上的数据导入到备份目标表中

    hbase org.apache.hadoop.hbase.mapreduce.Driver import myuser_bak /hbase_data/myuser_bak/*
  • 补充说明

    以上都是对数据进行了全量备份,后期也可以实现表的增量数据备份,增量备份跟全量备份操作差不多,只不过要在后面加上时间戳。

    例如:
    HBase数据导出到HDFS

    hbase org.apache.hadoop.hbase.mapreduce.Export test /hbase_data/test_bak_increment 开始时间戳  结束时间戳

1.2 基于snapshot快照对表进行备份

  • 通过snapshot快照的方式实现HBase数据的迁移和拷贝。这种方式比较常用,效率高,也是最为推荐的数据迁移方式。

  • HBase的snapshot其实就是一组==metadata==信息的集合(文件列表),通过这些metadata信息的集合,就能将表的数据回滚到snapshot那个时刻的数据。

    • 首先我们要了解一下所谓的HBase的LSM类型的系统结构,我们知道在HBase中,数据是先写入到Memstore中,当Memstore中的数据达到一定条件,就会flush到HDFS中,形成HFile,后面就不允许原地修改或者删除了。
    • 如果要更新或者删除的话,只能追加写入新文件。既然数据写入以后就不会在发生原地修改或者删除,这就是snapshot做文章的地方。做snapshot的时候,只需要给快照表对应的所有文件创建好指针(元数据集合),恢复的时候只需要根据这些指针找到对应的文件进行恢复就Ok。这是原理的最简单的描述,下图是描述快照时候的简单流程:
      Hbase数据备份案例讲解

1.3 快照实战

  • 1、创建表的snapshot
snapshot 'tableName', 'snapshotName'
  • 2、查看snapshot

    list_snapshots  

​ 查找以test开头的snapshot

list_snapshots 'test.*'
  • 3、恢复snapshot

​ ps:这里需要对表进行disable操作,先把表置为不可用状态,然后在进行进行restore_snapshot的操作

disable 'tableName'
restore_snapshot 'snapshotName'
enable 'tableName'
  • 4、删除snapshot

    delete_snapshot 'snapshotName'
  • 5、迁移 snapshot

    hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot \
    -snapshot snapshotName  \
    -copy-from hdfs://src-hbase-root-dir/hbase \
    -copy-to hdfs://dst-hbase-root-dir/hbase \
    -mappers 1 \
    -bandwidth 1024
    
    例如:
    hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot \
    -snapshot test  \
    -copy-from hdfs://node01:8020/hbase \
    -copy-to hdfs://node01:8020/hbase1 \
    -mappers 1 \
    -bandwidth 1024

​ 注意:这种方式用于将快照表迁移到另外一个集群的时候使用,使用MR进行数据的拷贝,速度很快,使用的时候记得设置好bandwidth参数,以免由于网络打满导致的线上业务故障。
Hbase数据备份案例讲解

  • 6、将snapshot使用bulkload的方式导入

    hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles \
    hdfs://dst-hbase-root-dir/hbase/archive/datapath/tablename/filename \
    tablename
    
    例如:
    创建一个新表
    create 'newTest','f1','f2'
    hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles hdfs://node1:9000/hbase1/archive/data/default/test/6325fabb429bf45c5dcbbe672225f1fb newTest

dIncrementalHFiles hdfs://node1:9000/hbase1/archive/data/default/test/6325fabb429bf45c5dcbbe672225f1fb newTest



## 

相关内容

热门资讯

萧美琴称年花6000元新台币保... 海峡导报综合报道 岛内朝野对8年1.25万亿元(新台币,下同)的“防务特别条例”仍无共识,台湾地区副...
巴基斯坦消息人士:美伊谈判似已... 巴基斯坦权威消息人士6日表示,美国和伊朗通过巴基斯坦进行的谈判似已显现希望,“低调的谈判有望转化为切...
雷暴大风、短时强降水、局地冰雹... 今天上午我省多地晴朗在线、升温持续,10点京广线及以东地区升至25-27℃,预计午后最高气温除了西部...
无障碍阅读“建设蓝图”出炉!多... 【大河财立方消息】 5月6日消息,中国残联、教育部、文化和旅游部、国家新闻出版署、共青团中央、全国妇...
蚂蚁集团等入股大晓机器人 【大河财立方消息】天眼查App显示,近日,大晓机器人关联公司上海大晓无限机器人有限公司发生工商变更,...
南航扭亏的AB面:物流压舱、子... 【大河财立方 记者 陈诗昂】4月30日,南方航空举行2026年一季度业绩发布会。一季报显示,南航营收...
“五一”超800场好戏燃动全城... “五一” 假期落幕,全国文旅市场持续火爆、亮点频现。山东临沂琅琊古城凭借沉浸式国风演艺、全时段互动体...
Siri升级延期,苹果或赔17... 来源:市场资讯 (来源:界面新闻) 据多家外媒报道,当地时间5月5日,美国苹果公司就一起集体诉讼达成...
时代电气获得发明专利授权:“列... 证券之星消息,根据天眼查APP数据显示时代电气(688187)新获得一项发明专利授权,专利名为“列车...
高市早苗在澳大利亚下跪献花,网... 据日本外务省网站消息,当地时间5月4日,日本首相高市早苗对澳大利亚进行访问时,前往位于堪培拉的澳大利...