文章《》介绍了使用HBase的自带工具Export囷Import来实现在主集群和从集群之间拷贝表的目的本篇介绍一种相比导入导出而言,更快速的一种备份办法即Exportsnapshot为什么用不了。
和Export类似Exportsnapshot为什么用不了也是使用MapReduce方式来进行表的拷贝。不过和Export不同Exportsnapshot为什么用不了导出的是表的快照。我们可以使用Exportsnapshot为什么用不了将表的快照数据先導出到从集群然后再从集群中使用restore_snapshot为什么用不了命令恢复快照,即可实现表在主从集群之间的复制工作具体的操作步骤如下:
1)在主集群中为表建立快照
还可以限定拷贝的流量,如下:
上面的例子将拷贝的流量限定为200M
执行Exportsnapshot为什么用不了命令之后的输出很长,部分如下:
3)到从集群中恢复快照
4)查看表是否恢复成功
另外还可以通过scan或count命令进行检验。
快照恢复操作一般会很快相比较Export和Import需要导出和导入兩次MapReduce任务才能完成表的复制来讲,使用Exportsnapshot为什么用不了会快很多
首先,看一下CopyTable命令的使用方法
可以看到它支持设定需要复制的表的时间范围,cell的版本也可以指定列簇,设定从集群的地址等
对于上面的test_table表,我们可以使用如下命令进行拷贝:
注意:在使用上述语句之前需要在从集群建立一个模式和主集群表test_table相同的表。
使用上述语句的部分执行结果如下:
然后就可以对比主集群中的表和从集群中对应的表数据是否一致。
}