HBase的快照技术
(1) 什么是快照
快照就是一份元信息的合集,允许管理员恢复到表的先前状态,快照不是表的复制而是一个文件名称列表,因而不会复制数据。
完全快照恢复是指恢复到之前的表结构以及当时的数据快照之后发生的数据不会恢复。
(2) 快照的作用
Hbase中存在的备份或克隆表的方法就是使用复制/导出表或者在关闭表之后拷贝hdfs中的所有的hfile。复制/导出时通过一些列工具调用mapreduce来扫描并复制表,这样子会对regionserver有直 接的影响,关闭表会停止所有的读写操作,实际环境中往往无法接受。
相比之下,hbase的快照允许管理员不拷贝数据直接克隆一张表,这对服务器产生的影响最小。将快照导出至其他集群不会直接影响到任何服务器,导出只是带有一些额外逻辑的群间数据同步。
(3) 快照操作
a) 生成快照:本操作尝试对指定表生成快照。如果集群在执行数据均衡、分割或合并等操作时,可能会一起操作失败,可以现对该表进行快照操作。
snapshot ‘tablename’ , ‘table-snapshot’ -->生成表的快照
list_snapshots --à查看所有的快照
b) 克隆快照:本操作使用与指定快照相同的结构数据构建一张新表。操作结果会生成一张有完整功能的表,对该表的任意修改不会对元彪或者快照产生影响。
clone_snapshot ‘table-snapshot’ ,’ new-tablename’ --->克隆快照,并生成一张新表,修改新表不会影响原表
c) 还原快照:本操作将表结构和数据恢复到生成快照时的状态。
restore_snapshot ‘snapshot-name’
说明:snapshot-name是对应表的快照,在还原之前请将原表disable。还原之后再enable原表。
d) 删除快照:本操作将系统中的快照删除,释放未共享的磁盘空间,而且不会影响其他克隆或者快照。
delete_snapshot ‘snapshotname’
e) 导出快照:本操作将快照数据和元数据复制到其他集群。操作只会涉及hdfs,不会与master或者服务器产生任何联系,因此hbase集群可以关闭。
Hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot snapshotname -copy-to hdfs:///server2:8082/hbase
(4) 快照的优势
导出快照与复制/导出表除了更好保持一致性外,主要的不同在于导出快照是在hdfs的层面操作。这意味着Master和服务器与操作无关。因此不需要为不必要的数据创建缓存空间,也不会有扫描过 程,因为大量对象创建引起的GC暂停。对于hbase来说主要性能影响就是datanode额外的网络和磁盘负载。
HBase的快照技术的更多相关文章
- 利用HBase的快照功能来修改表名
hbase的快照功能常常被用来做数据的恢复的,但是由于项目的特殊需求需要改hbase表的表名.在官网上通过快照功能来修改hbase表名的用法: 下面展示用shell命令的和Java api两种方式: ...
- vmware vSphere克隆与快照技术
通过Web vCenter我们可以很容易的对虚拟机进行管理,通过克隆技术或创建模板,我们可以迅速的创建虚拟机,我们也可以通过快照技术去捕获虚拟机的一些状态,比如说虚拟机的内存.设置或者虚拟磁盘的情况等 ...
- 再谈 COW、ROW 快照技术
目录 目录 前言 快照与备份的区别 快照技术 增量快照之 COW 增量快照之 row 前言 在经过了一段时间的实践之后,再次回顾 COW/ROW 快照技术的实现原理,温故而知新. 快照与备份的区别 传 ...
- ROW/COW 快照技术原理解析
NOTE:ROW/COW 最新更新请跳转<再谈 COW.ROW 快照技术> 目录 目录 快照与备份的区别 Snapshot 快照技术 全量快照 增量快照 COW 写时拷贝快照技术 ROW ...
- hbase读取快照数据-lzo压缩遇到的问题
1.读取hbase快照数据时报UnsatisfiedLinkError: no gplcompression in java.library.path错: 2019-09-04 17:36:07,44 ...
- HDFS的快照原理和Hbase基于快照的表修复
前一篇文章<HDFS和Hbase误删数据恢复>主要讲了hdfs的回收站机制和Hbase的删除策略.根据hbase的删除策略进行hbase的数据表恢复.本文主要介绍了hdfs的快照原理和根据 ...
- hbase迁移快照ExportSnapshot时遇到的错
1.Cannot allocate memory 报错信息: Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x ...
- centos6.5虚拟机快照技术
一.查看现有磁盘镜像格式与转换 查看磁盘格式 [root@localhost ~]# qemu-img info /var/lib/libvirt/images/centos7.img image: ...
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
初接触Hadoop技术的朋友肯定会对它体系下寄生的个个开源项目糊涂了,我敢保证Hive,Pig,HBase这些开源技术会把你搞的有些糊涂,不要紧糊涂的不止你一个,如某个菜鸟的帖子的疑问,when to ...
随机推荐
- 《C#编程》课件 - C#基础
声明多维数组• 创建一个多维数组int[,] intMatrix;float[,] floatMatrix;string[,,] strCube;使用new关键字• 必须指定每个维度的大小int[,] ...
- php浏览历史记录
/** * 商品历史浏览记录 * $data 商品记录信息 */ private function _history($data) { if(!$data || !is_array($data)) { ...
- [Android Studio] 按钮学习
Android Studio 按钮 1. 添加一个按钮 新建一个 Blank Project 之后, 在 activity_main.xml: 中添加一个按钮, 可以使用design 模式来添加,: ...
- C#预处理器指令
在C#中有许多名为“预处理指令”的命令,这些命令从来不会转化为可执行代码中的命令,但会影响编译过程的各个方面.例如,使用预处理器指令可以禁止编译器编译代码的某一部分.如果计划发布两个版本的代码,即基本 ...
- CentOS6.5 本地源搭建Ceph
拓扑图 OS: CentOS X86_64,desktop -免密码登录 -修改/etc/sysconfig/network --hostname -修改/etc/hosts/ -关闭iptabl ...
- Python 基础练习
今天接触了python,了解了一下 python 的基础语法,于是想着手训练一下,在本习题集中,参考代码为提供的参考答案,前面的代码为自己思考的代码,最后每道题给出练习的时间. Python 基础练习 ...
- 教你解决Sublime Text中文乱码问题
教你解决Sublime Text中文乱码问题[转载自成长的企鹅] Sublime Text 2是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦. ...
- CSS背景样式
CSS是级联样式表,用来表现HTML等文件样式的语言,CSS能够真正做到网页的表现与内容分离的设计语言,也就是说,做好了一款网页,可以通过另一个后缀名是css的文件进行修改其中的样式,不过在html的 ...
- Maven3简介
Maven3简介 百度百科 maven官网: http:\/\/maven.apache.org\/ Maven下载安装 Maven 下载:http:\/\/maven.apache.org\/dow ...
- golang csv问题
go语言自带的有csv文件读取模块,看起来好像不错,今天玩玩,也算是系统学习go语言的一部分--^_^ 一.写csv文件 函数: func NewWriter(w io.Writer) *Writer ...