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


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

如何在CDH中使用HBase快照_hdfs


2.进入HBase服务

如何在CDH中使用HBase快照_hdfs_02


3.点击“表浏览器”

如何在CDH中使用HBase快照_数据_03


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>

如何在CDH中使用HBase快照_hadoop_04


5.选择表picHbase创建快照

如何在CDH中使用HBase快照_数据_05

如何在CDH中使用HBase快照_hadoop_06


创建成功

如何在CDH中使用HBase快照_hadoop_07


picHbase表的快照列表

如何在CDH中使用HBase快照_hdfs_08


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> listTABLE
0 row(s) in 0.0100 seconds

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

如何在CDH中使用HBase快照_hdfs_09


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

如何在CDH中使用HBase快照_hadoop_10


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

如何在CDH中使用HBase快照_数据_11

如何在CDH中使用HBase快照_数据_12


通过快照表恢复成功

如何在CDH中使用HBase快照_数据_13

如何在CDH中使用HBase快照_hadoop_14


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>

如何在CDH中使用HBase快照_数据_15

与备份前表数据一致。


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>

如何在CDH中使用HBase快照_数据_16


11.再次创建picHbase-snapshot2快照

如何在CDH中使用HBase快照_hadoop_17


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

如何在CDH中使用HBase快照_hadoop_18

如何在CDH中使用HBase快照_hdfs_19


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>

如何在CDH中使用HBase快照_hdfs_20


3.HBase表增量快照验证




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

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

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

如何在CDH中使用HBase快照_hdfs_21

如何在CDH中使用HBase快照_数据_22


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>

如何在CDH中使用HBase快照_hdfs_23


创建快照

如何在CDH中使用HBase快照_hadoop_24


使用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

如何在CDH中使用HBase快照_数据_25


HDFS导出的快照目录

如何在CDH中使用HBase快照_数据_26


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>

如何在CDH中使用HBase快照_hadoop_27


创建picHbase-snapshot2快照

如何在CDH中使用HBase快照_hdfs_28


导出该快照到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

如何在CDH中使用HBase快照_hdfs_29


HDFS导出目录

如何在CDH中使用HBase快照_hdfs_30


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>

如何在CDH中使用HBase快照_hadoop_31


创建picHbase-snapshot3快照

如何在CDH中使用HBase快照_hdfs_32


导出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

如何在CDH中使用HBase快照_数据_33


HDFS导出目录

如何在CDH中使用HBase快照_数据_34


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

[root@ip-172-31-6-148 ~]# sudo -u hdfs hadoop fs -du -h / 1.4 K    4.3 K   /hbase_bak12.5 K    7.5 K   /hbase_bak23.6 K    10.7 K  /hbase_bak3 [root@ip-172-31-6-148 ~]#

如何在CDH中使用HBase快照_数据_35


4.总结




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



为天地立心,为生民立命,为往圣继绝学,为万世开太平。

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





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

如何在CDH中使用HBase快照_hadoop_36

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