关闭

HBase快照(Snapshot)技术

标签: 快照hbase
3954人阅读 评论(0) 收藏 举报
分类:

什么是快照

快照就是一份元信息的合集,允许管理员恢复到表的先前状态。快照不是表的复制而是一个文件名称列表,因而不会复制数据。
完全快照恢复指恢复到之前的“表结构”以及当时的数据,快照之后发生的数据不会恢复。

快照的作用

HBase中存在的备份或克隆表的方法就是使用复制/导出表或者在关闭表之后拷贝HDFS中的所有HFile。
复制或导出是通过一系列工具调用MapReduce来扫描并复制表,这样会对RegionServer有直接的影响。关闭表会停止所有的读写操作,实际环境中往往无法接受。
相比之下HBase快照允许管理员不拷贝数据,而直接克隆一张表,这对域服务器产生的影响最小。将快照导出至其他集群不会直接影响到任何服务器;导出只是带有一些额外逻辑的群间数据同步。

快照优势

导出快照与复制/导出表除了更好地保持一致性外,主要的不同在于导出快照是在HDFS的层面操作的。 这意味着HMaster和域服务器与操作无关。因此不需要为不必要的数据创建缓存空间,也不会有扫描过程。因为大量对象创建引起的GC暂停,对于HBase 来说主要性能影响就是DataNode额外的网络和磁盘负载。

应用场景

1、从用户/应用异常中还原。
2、从一个已知的安全状态恢复/还原。
3、查看之前的快照并有选择性的合并不同写入产品环境。
4、当主应用程序升级或改版时保存快照。
5、在指定时间审查和 或 报告数据。
6、按照规定捕获月度数据
7、生成日终/月末/季末报告。
8、应用测试。
9、通过快照模拟生产环境下结构或应用发生的变化,测试完成即可丢弃。
例如:生成快照,利用快照中内容构建新表(原有结构+数据)并且修改新的结构,添加或删除列之类。(原始表、快照和新表保持相互独立)
10、减少工作压力。
11、生成快照,导入到其他集群,然后运行MapReduce jobs。因为导出的快是HDFS级别,所以不会像复制表那样降低HBase主集群的效率。

快照操作

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

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

还原快照:
本操作将表结构和数据恢复到生成快照时的状态。(注意:本操作会舍弃快照生成后任何改变)。

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

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

Demo

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

1、获取指定表的快照使用snapshot命令(不产生文件复制)
hbase>snapshot 'tableName','snapshotName'

2、列出所有的快照,使用list_snapshot命令。会展示出快照名称,源表,以及创建日期和时间
hbase>list_snapshots


3、删除快照使用deleted_snapshot命令。删除快照不会影响到克隆表或者之后生成的快照。
hbase>delete_snapshot 'snapshotName'

4、使用clone_snapshot命令从指定的快照生成新表(克隆)。由于不会产生数据复制,所以最终用到的数据不会是之前的两倍。
hbsse>clone_snapshot 'snapshotName','newTableName'

5、使用restore_snapshot命令将指定快照内容替换当前表结构或数据;
hbase>restore_snapshot 'snapshotName'


6、使用ExportSnapshot工具将现有快照导出至其他集群。导出工具不会影响到域服务器负载,只是工作在HDFS层面,所以需要指定HDFS路径(其他集群的hbase根目录)。
hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshotName -copy-to hdfs :///srv2:8082/hbase

0
1
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

hbase 快照和集群备份的NB方法

HBase Snapshots允许你对一个表进行快照(即可用副本),它不会对Region Servers产生很大的影响,它进行复制和 恢复操作的时候不包括数据拷贝。导出快照到另外的集群也不会对Region Servers产生影响。 下面告诉你如何使用Snapshots功能 1.开启快照支持功能...
  • cuilanbo
  • cuilanbo
  • 2015-01-29 17:05
  • 3607

HDFS的快照原理和Hbase基于快照的表修复

前一篇文章《HDFS和Hbase误删数据恢复》主要讲了hdfs的回收站机制和Hbase的删除策略。根据hbase的删除策略进行hbase的数据表恢复。本文主要介绍了hdfs的快照原理和根据快照进行的数据恢复。
  • chaolovejia
  • chaolovejia
  • 2015-09-21 15:49
  • 1626

HBase 快照操作

1.配置hbase-site.xml hbase.snapshot.enabled true 2.创建快照 hbase> snapshot 'myTable', 'myTableSnapshot-122112' hbase>li...
  • yueyedeai
  • yueyedeai
  • 2013-12-29 05:25
  • 1137

HBase 快照操作

1.配置hbase-site.xml hbase.snapshot.enabled true 2.创建快照 hbase> snapshot 'myTable', 'myTableSnapshot-122112' hbase>li...
  • yueyedeai
  • yueyedeai
  • 2013-12-29 05:25
  • 1137

Hbase的读写流程、快照管理以及RegionServer,Region,StoreFile,Hfile,ColumFamily的关系

下面是hbase的架构图:1.hbase的写操作 首先client端写操作会先访问zookeeper获取hmaster的地址,然后访问hmasterhmaster会将处理这次操作的HRegionServer服务的地址给client,然后client会去请求对应的HRegionServer如果设置了A...
  • qq_20641565
  • qq_20641565
  • 2017-02-23 15:12
  • 2479

HBase快照(Snapshot)技术

hbase>snapshot 'tableName','snapshotName' hbase>list_snapshots hbase>delete_snapshot 'snapshotName' hb...
  • lovebyz
  • lovebyz
  • 2016-07-09 15:19
  • 245

Hbase表备份——Snapshot

-- 内存数据刷盘 flush'paycore.pay_test' --禁用表 disable'paycore.pay_test' -- 备份快照 snapshot'paycore.pay_test', 'pay_test...
  • yingcuicy
  • yingcuicy
  • 2017-12-12 10:26
  • 65

HBase Snapshot

一、测试目的(文档目的): 使用HBase snapshot,测试Phoenix数据备份、HBase数据备份。 二、测试步骤: #2.1#定期(如1天),备份重要表、重要数据 snapshot 'PH_MONITOR.T_MONITOR_INTERFACE_LOG', ...
  • wl101yjx
  • wl101yjx
  • 2016-10-01 20:03
  • 332

HBase创建快照(snapshot)出现异常的处理方法

今天在hbase中创建快照的时候遇到了如下错误: hbase(main):004:0> snapshot 'booking', 'booking-snapshot-20140912' ERROR: org.apache.hadoop.hbase.snapsh...
  • iAm333
  • iAm333
  • 2014-09-12 15:14
  • 2203

HBase备份之ExportSnapshot或CopyTable

文章《HBase备份之导入导出》介绍了使用HBase的自带工具Export和Import来实现在主集群和从集群之间拷贝表的目的。本篇介绍一种相比导入导出而言,更快速的一种备份办法。即ExportSnapshot。 1、ExportSnapshot 和Export类似,ExportSnapshot也...
  • iAm333
  • iAm333
  • 2014-08-13 16:41
  • 2547
    个人资料
    • 访问:479912次
    • 积分:7879
    • 等级:
    • 排名:第3102名
    • 原创:269篇
    • 转载:7篇
    • 译文:0篇
    • 评论:57条
    About Me

    姓名:李国冬
    英文名:wintfru
    GitHub: 点击进入
    Email:liguodongiot@gmail.com
    学校:西南石油大学
    学历:本科
    专注:Java、Hadoop、IOT
    爱好:跑步,NBA,旅游,LOL
    博客专栏
    咚呱哂呱
    好记性不如烂笔头。
    文章分类