首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在CDH中使用HBase快照

如何在CDH中使用HBase快照

作者头像
Fayson
修改2018-04-01 19:25:15
1.7K0
修改2018-04-01 19:25:15
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.文档编写目的


前面Fayson讲过HDFS的快照,参考如何在CDH集群使用HDFS快照,那么HBase的快照呢?HBase快照功能丰富,有很多特征,并且创建时不需要关闭集群。快照可以在几秒内完成,对整个集群没有任何性能影响,另外快照只占用很小的空间。本篇文章主要讲述如何使用Cloudera Manager管理HBase的快照。

  • 内容概述

1.快照的创建及恢复

2.快照验证

3.总结

  • 测试环境

1.CM和CDH版本为5.13.0

2.操作系统:CentOS6.5

3.采用root用户操作

2.HBase表快照创建及恢复


1.登录Cloudera Manager

2.进入HBase服务

3.点击“表浏览器”

4.查看表内容

hbase(main):003:0> scan 'picHbase'
ROW                        COLUMN+CELL                                              
 002                       column=picinfo:content, timestamp=1509211357826, value=test                 
1 row(s) in 0.1330 seconds

hbase(main):004:0>

5.选择表picHbase创建快照

创建成功

picHbase表的快照列表

6.删除picHbase表数据

hbase(main):004:0> disable 'picHbase'
0 row(s) in 2.4920 seconds

hbase(main):005:0> drop 'picHbase'
0 row(s) in 1.2770 seconds

hbase(main):006:0> list
TABLE                                                                                                  
0 row(s) in 0.0100 seconds

=> []
hbase(main):007:0> 

7.通过Cloudera Manager浏览picHbase表,表被标识为已删除

8.通过picHbase-snapshot1快照恢复picHbase表

通过快照表恢复成功

9.查看picHbase表数据

hbase(main):009:0> scan 'picHbase'
ROW                        COLUMN+CELL                                                                 
 002                       column=picinfo:content, timestamp=1509211357826, value=test                 
1 row(s) in 0.0320 seconds

hbase(main):010:0> 

与备份前表数据一致。

10.向表中插入新的数据

hbase(main):009:0> scan 'picHbase'
ROW                        COLUMN+CELL                                                                 
 002                       column=picinfo:content, timestamp=1509211357826, value=test                 
1 row(s) in 0.0320 seconds

hbase(main):010:0> put 'picHbase','001','picinfo:content','test'
0 row(s) in 0.0900 seconds

hbase(main):011:0> scan 'picHbase'
ROW                        COLUMN+CELL                                                                 
 001                       column=picinfo:content, timestamp=1509265724160, value=test                 
 002                       column=picinfo:content, timestamp=1509211357826, value=test                 
2 row(s) in 0.0360 seconds

hbase(main):012:0> 

11.再次创建picHbase-snapshot2快照

12.使用picHbase-snapshot2快照还原数据

13.查看表数据,与第二次快照时数据一致

hbase(main):046:0* scan 'picHbase'
ROW                        COLUMN+CELL                                                                 
 001                       column=picinfo:content, timestamp=1509269150723, value=test                 
 002                       column=picinfo:content, timestamp=1509269443034, value=test                 
2 row(s) in 0.2290 seconds

hbase(main):047:0> 

3.HBase表增量快照验证


本章节操作主要对HBase表整理快照验证,验证是否支持增量快照。

1.删除表及所有快照信息,新建picHbase表

hbase(main):051:0* disable 'picHbase'
0 row(s) in 2.2830 seconds
hbase(main):052:0> drop 'picHbase'
0 row(s) in 1.2490 seconds
hbase(main):053:0> list
TABLE                                                                                                  
0 row(s) in 0.0080 seconds
=> []
hbase(main):054:0> create 'picHbase', {NAME => 'picinfo'}
0 row(s) in 1.2360 seconds
=> Hbase::Table - picHbase
hbase(main):055:0> list
TABLE                                                                                                  
picHbase                                                                                               
1 row(s) in 0.0110 seconds
=> ["picHbase"]
hbase(main):056:0> 

2.向表中插入一条数据,并创建picHbase-snapshot1快照

hbase(main):059:0* put 'picHbase','001','picinfo:content','test'
0 row(s) in 0.0240 seconds

hbase(main):060:0> scan 'picHbase'
ROW                        COLUMN+CELL                                                                 
 001                       column=picinfo:content, timestamp=1509270945505, value=test                 
1 row(s) in 0.0130 seconds

hbase(main):061:0> 

创建快照

使用ExportSnapshot命令导出该快照到HDFS

[root@ip-172-31-6-148 ~]# hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot picHbase-snapshot1 -copy-to hdfs://ip-172-31-6-148.fayson.com:8020/hbase_bak1 

HDFS导出的快照目录

3.向picHbase表中插入数据并创建picHbase-snpashot2快照

hbase(main):063:0* put 'picHbase','002','picinfo:content','test'
hbase(main):064:0> scan 'picHbase'
ROW                        COLUMN+CELL                                                                 
 001                       column=picinfo:content, timestamp=1509270945505, value=test                 
 002                       column=picinfo:content, timestamp=1509271243302, value=test                 
hbase(main):065:0> 

创建picHbase-snapshot2快照

导出该快照到HDFS目录

[root@ip-172-31-6-148 ~]# hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot picHbase-snapshot2 -copy-to hdfs://ip-172-31-6-148.fayson.com:8020/hbase_bak2 

HDFS导出目录

4.再次向表中插入一条数据并创建picHbase-snapshot3快照

hbase(main):068:0* put 'picHbase','003','picinfo:content','test'
hbase(main):069:0> scan 'picHbase'
ROW                        COLUMN+CELL                                                                 
 001                       column=picinfo:content, timestamp=1509270945505, value=test                 
 002                       column=picinfo:content, timestamp=1509271243302, value=test                 
 003                       column=picinfo:content, timestamp=1509271557759, value=test                 
hbase(main):070:0> 

创建picHbase-snapshot3快照

导出picHbase-snapshot3快照到HDFS目录

[root@ip-172-31-6-148 ~]# hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot picHbase-snapshot3 -copy-to hdfs://ip-172-31-6-148.fayson.com:8020/hbase_bak3 

HDFS导出目录

5.对比三次快照导出的目录大小

[root@ip-172-31-6-148 ~]# sudo -u hdfs hadoop fs -du -h / 
1.4 K    4.3 K   /hbase_bak1
2.5 K    7.5 K   /hbase_bak2
3.6 K    10.7 K  /hbase_bak3 
[root@ip-172-31-6-148 ~]# 

4.总结


  • HBase表快照时瞬时的,几乎对整个机器没有任何性能影响
  • HBase快照是一系列的元数据信息集合,可以通过快照将表恢复到生成快照时的状态
  • 快照不是表的复制,而是记录元数据(表信息和域)和数据(HFiles,内存存储,WALs)一系列操作的集合,在生成快照操作中没有任何执行复制数据的动作
  • ExportSnapshot工具可以将快照导出至其它集群,导出工具不会影响RegionServer服务器的负载,只是工作在HDFS层面。
  • HBase快照是某一时刻表的完整快照,目前不支持增量快照,增量可以使用HBase自带的import/export来实现,关于如何自定义exportsnapshot这个类实现基于快照的增量备份和恢复,Fayson会在接下来的文章里进行说明。

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档