HBase Snapshots

在HBase 0.95之前,唯一能够备份或克隆表就是使用复制/导出表或者在关闭表之后拷贝HDFS中所有的HFile。

复制/导出是通过一系列工具调用MapReduce来扫描并复制表,这样会对RegionServer效率有直接影响。

关闭表会停止所有的读写操作,实际环境中往往无法接受。


HBase快照允许管理员不拷贝数据直接克隆一张表,这对RegionServer产生的影响最小。

将快照导出至其他集群不会直接影响到任何域服务器;导出只是带有一些额外逻辑的群间数据同步。


快照是啥?

快照是一份元信息的合集,允许管理员恢复到表的先前状态。

快照不是表的复制而是一个文件名称列表,因而不会复制数据。

完全快照恢复是指恢复到之前的“表结构”以及当时的数据,快照之后发生的数据不会恢复。


HBase的主要设计原则之一就是一旦文件写入就不再修改。

文件不可变意味着快照只需保持对快照产生时存在的文件追踪,并且在压缩时负责提示系统该文件不应删除而是应当归档保存。

快照和复制表之间的主要差异是快照操作只写入元数据,不涉及海量数据。


hbase-site.xml中的hbase.snapshot.enabled是否设置为true确认打开了快照许可。

  • 生成快照:本操作尝试对指定表生成快照。如果集群在执行数据均衡、分隔或合并等操作时,可能会引起操作失败。

  • 克隆快照:本操作使用与指定快照相同的结构数据构建一张新表。操作结果会生成一张有完整功能的表,对该表的任意修改不会对原表或快照产生影响。

  • 还原快照:本操作将表结构和数据恢复到生成快照时的状态。

  • 删除快照:本操作将系统中的快照删除,释放未共享的磁盘空间,而且不会影响其他克隆或快照。

  • 导出快照:本操作将快照数据和元数据复制到其他集群。操作只会涉及HDFS,不会与Master或域服务器产生任何联系,因此HBase集群可以关闭。




你可能感兴趣的:(HBase Snapshots)