Hbase数据备份案例讲解
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,HBase的数据备份1.1 基于HBase提供的类对表进行备份使用HBase提供的类把HBase中某张表的数据导出到HDFS,之后再导出到测试hbase表中。(1) ==从hbase表导出到HDFS=
千家信息网最后更新 2025年12月02日Hbase数据备份案例讲解
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数据导出到HDFShbase 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。这是原理的最简单的描述,下图是描述快照时候的简单流程:

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参数,以免由于网络打满导致的线上业务故障。
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
##
数据
备份
快照
文件
方式
时候
时间
数据备份
信息
原地
增量
就是
拷贝
指针
目标
差不多
下图
业务
原理
参数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
方舟服务器映射
海安口碑好的网络技术创新服务
国泰新点软件开发面试题
三级网络技术知识
代理服务器的分类
数据库考试试卷 东华理工
戴尔机架式服务器带轨道吗
涉密网络安全工程师
软件开发模型三种
淮北企业软件开发
宿城区个性化网络技术诚信服务
更健康互联网科技
tcp 测试服务器
王者荣耀 上海服务器
人人代理服务器
古交软件开发公司推荐
文件服务器 审计
oa系统服务器网址
如何防止网络安全防范措施
法条查询软件开发
帆软夸数据库查询
外资银行软件开发岗
电脑手游服务器不一样
惠州旅游软件开发方案
ff14 分解产物数据库
厦门it服务管理软件开发
opc服务器什么
开票软件访问数据库
求配音软件开发
java 数据库的安装