Hbase备份与恢复
-
CopyTable
-
支持时间区间、row区间,改变表名称,改变列族名称,指定是否copy已经被删除的数据等功能
-
CopyTable工具采用scan查询,写入新表时采用put和delete API,全部是基于hbase的client api进行读写
-
举例:hbase shell
-
list
//创建一个与原表同列族的表
create 'FileTableNew','cf'
//新开一个终端
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=FileTableNew FileTableNew
-
Export/Import
-
Export可导出数据到目标集群,然后可在目标集群Import导入数据,Export支持指定开始时间和结束时间,因此可以做增量备份
-
Export导出工具与CopyTable一样,是依赖hbase的scan读取数据
-
举例:
bin/hbase orgapache.hadoop.hbasemapreduce.Export
<tablename> hdfs://namenode:9000/table bak<version><startTime><endTime>bin/hbase-Dhbase.importversion=0.94orgapachehadoophbasemapreduce.Import<tablename> <inputdir>
-
-
Snapshot
-
Snapshot就是快照,作用于表上,通过配置hbase-site.xml开启该功能
-
可以快速的恢复表至快照指定的状态从而迅速的修复数据(会丢失快照之后的数据)
-
-
Replication
-
可以通过Replication机制实现hbase集群的主从模式
-
replication是依赖WAL日志进行的同步
-