hbase_数据备份(快照)

本文介绍如何在HBase中配置并使用快照功能,包括创建、恢复、克隆及导出快照的方法,并讨论了快照与复制功能的兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Snapshot(快照)

    开启快照功能,在hbase-site.xml文件中添加如下配置项:

<property>

<name>hbase.snapshot.enabled</name>

<value>true</value>

</property>

hbase shell中使用clone_snapshot, delete_snapshot, list_snapshots, restore_snapshot, snapshot命令

命令

说明

例子

snapshot

为某表创建快照

snapshot ‘harve_role’,'20180108-harve_role'

list_snapshots

查看快照列表

 

delete_snapshot

删除快照

delete_snapshot '20180108-harve_role'

clone_snapshot

基于快照,clone一个新表

clone_snapshot 20180108-harve_role', ‘harve_role2’

restore_snapshot

基于快照恢复表

disable ‘harve_role’

restore_snapshot '20180108-harve_role'

需要注意的是:如果该表开启了replication功能实现主从同步则在使用restore_snapshot功能对主表进行恢复时,必须先停止replication功能并且redo the bootstrap,因为replication是基于WAL日志实现的,而snapshot是直接在hdfs层面不是基于hbaseputdeleteAPI进行的,不会写WAL日志。

    在创建snapshot后,可以通过ExportSnapshot工具把快照导出到另外一个集群,实现数据备份或者数据迁移,ExportSnapshot工具的用法如下:

例如:

hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot 20180108-harve_role -copy-to hdfs://namenode:9000/hbase -mappers 2

执行该命令后,在namenode:9000hdfs中会把20180108-harve_role文件夹copy/hbase/.hbase-snapshot文件下,进入namenode这个hbase集群,执行list_snapshots会看到有一个快照:20180108-harve_role,通过命令clone_snapshot可以把该快照copy成一个新的表,不用提前创建表,新表的region个数等信息完全与快照保持一致。

在使用snapshot把一个集群的数据copy到新集群后,应用程序开启双写,然后可以使用Export工具把快照与双写之间的数据导入到新集群,从而实现数据迁移,为保障数据不丢失,Export导出时指定的时间范围可以适当放宽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值