欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hbase数据备份&&容灾方案

程序员文章站 2022-04-09 12:48:32
...

Hbase数据备份&&容灾方案

阅读目录

  • 一 、CopyTable
  • 二、Export/Import(使用mapreduce)
  • 三、Snapshot
  • 四、Replication

1.CopyTable

  • 支持时间区间,row 区间 ,改变表名称,改变列族名称,指定是否copy 已经被删除的数据等功能。
  • CopyTable 工具采用scan查询,写入新表时采用put 和delete API.全是基于hbase 的client api 进行读写。
在执行期间要先进行创建新表
./hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=CoprocessorTestNew CoprocessorTest

2.Export/Import

  • Export 可导出数据到目标集群,然后可在目标集群Import 导入数据,Export 支持指定开始时间和结束时间,因此可以做增量备份
  • Export 导出工具 于 CopyTable 一样是依赖hbase 的scan读取数据
    Hbase数据备份&&容灾方案
数据导出

./hbase org.apache.hadoop.hbase.mapreduce.Export CoprocessorTest /coprocessortest.db

数据导入

./hbase org.apache.hadoop.hbase.mapreduce.Import CoprocessorTestNew /coprocessortest.db

3.Snapshot

*Snapshot 即快照的意思,作用于表上,通过配置hbase-site.xml 开启该功能
*可以快速的恢复表至快照指定的状态从而迅速的修复数据(会丢失快照之后的数据)

Hbase数据备份&&容灾方案

配置 hbase-site.xml
<property>
<name>hbase.snapshot.enabled</name>
<value>true</value>
<property>

具体操作

#创建快照名字:CoprocessorTest_snap2
snapshot 'CoprocessorTestNew' ,'CoprocessorTest_snap2'
#清空表数据
truncate 'CoprocessorTestNew'
#删除表
disable 'CoprocessorTestNew'
#恢复快照
restore_snapshot 'CoprocessorTest_snap'
#表生效
enable 'CoprocessorTestNew'

4.Replication

  • 可以通过replication 机制实现hbase集群的主从模式
  • replication 是依赖 WAL日志进行的同步
<property>
  <name>hbase.replication</name>
   <value>true</value>
<property>

Hbase数据备份&&容灾方案