hbase snapshot为什么用不了 多久

问题导读:1.snapshot为什么用不了备份的優点是什么2.HBase数据的备份的方式有几种?3.snapshot为什么用不了包括在线和离线的他们之间有什么区别?4.snashot的shell的命令都由哪些5.如何删除、查看快照?6.如何导出到另外一个集群

HBase以往数据的备份基于distcp或者copyTable等工具,这些备份机制或多或少对当前的online数据读写存在一定的影响snapshot为什么用不叻提供了一种快速的数据备份方式,无需进行数据copy

基于snapshot为什么用不了文件,可以做clone一个新表restore,export到另外一个集群中操作;其中clone生成的新表只是增加元数据相关的数据文件还是复用snapshot为什么用不了指定的数据文件


参见clone新表操作示意图:

snashot相关的操作命令如下,

基于快照clone一个噺表:

导出到另外一个集群中:

}

版权:本文版权归作者所有
转载:欢迎转载但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任


HBase的snapshot为什么用不了及restore都不涉及文件的移動和拷贝操作耗时在秒级别;因为底层依赖的HDFS FileSystem不支持硬链接,所以HBase自己实现了一套FileLink的逻辑每次snapshot为什么用不了都只是进行文件的link而不实際移动数据,而这保证了snapshot为什么用不了操作的效率(虽然不可避免的需要进行一下内存flush但基本最耗时的消耗都在flush这一下)。下面会通过源码的角度解析一下HBase snapshot为什么用不了的实现

}

文章《》介绍了使用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相同的表。
使用上述语句的部分执行结果如下:
 
 
 
然后就可以对比主集群中的表和从集群中对应的表数据是否一致。

}

我要回帖

更多关于 snapshot为什么用不了 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信