博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hbase 学习(十) HBase Snapshots
阅读量:6979 次
发布时间:2019-06-27

本文共 1165 字,大约阅读时间需要 3 分钟。

HBase Snapshots允许你对一个表进行快照(即可用副本),它不会对Region Servers产生很大的影响,它进行复制和 恢复操作的时候不包括数据拷贝。导出快照到另外的集群也不会对Region Servers产生影响。 下面告诉你如何使用Snapshots功能。
1.
开启快照支持功能,在0.95+之后的版本都是默认开启的,在0.94.6+是默认关闭。
hbase.snapshot.enabled
true
2.
给表建立快照,不管表是启用或者禁用状态,这个操作不会进行数据拷贝。
$ ./bin/hbase shell hbase> snapshot 'myTable', 'myTableSnapshot-122112'
3.
列出已经存在的快照
$ ./bin/hbase shell hbase> list_snapshots
4.
删除快照
$ ./bin/hbase shell hbase> delete_snapshot 'myTableSnapshot-122112'
5.
从快照复制生成一个新表
$ ./bin/hbase shell hbase> clone_snapshot 'myTableSnapshot-122112', 'myNewTestTable'
6.
用快照恢复数据,它需要先禁用表,再进行恢复
$ ./bin/hbase shellhbase> disable 'myTable' hbase> restore_snapshot 'myTableSnapshot-122112'
提示:因为备份(replication)是系统日志级别的,而快照是文件系统级别的,当使用快照恢复之后,副本会和master出于不同的状态,如果你需要使用恢复的话,你要停止备份,并且重置bootstrap。
如果是因为不正确的客户端行为导致数据丢失,全表恢复又需要表被禁用,可以采用快照生成一个新表,然后从新表中把需要的数据用map-reduce拷贝到主表当中。
7.
复制到别的集群当中
该操作要用hbase的账户执行,并且在hdfs当中要有hbase的账户建立的临时目(hbase.tmp.dir参数控制),采用16个mappers来把一个名为MySnapshot的快照复制到一个名为srv2的集群当中。
$ bin/hbase class org.apache.hadoop.hbase.snapshot.tool.ExportSnapshot -snapshot MySnapshot -copy-to hdfs://srv2:8020/hbase -mappers 16

转载地址:http://wgypl.baihongyu.com/

你可能感兴趣的文章
FOSCommentBundle功能包:设置Doctrine ODM映射
查看>>
[Web 开发] 定制IE下载对话框的按钮(打开/保存)
查看>>
无法访问D盘,执行页内操作时的错误
查看>>
我的家庭私有云计划-13
查看>>
转载:什么才是程序员的核心竞争力
查看>>
android:关于主工程和library project
查看>>
Windows 7 开发新特性
查看>>
在客户端调用MOSS的搜索服务,实现更加灵活的搜索控制
查看>>
C++:STL标准入门汇总
查看>>
1001: 整数求和
查看>>
How to develop Silverlight 4 using Visual Studio Express 2010
查看>>
浏览器前进后退对下拉框数据的丢失(省市联动实现和例子)
查看>>
构建安全的 ASP.NET 应用程序
查看>>
从源代码编译里程碑的 ICS ROM
查看>>
Flex通信-Java服务端通信实例
查看>>
Nginx学习笔记(一) Nginx架构
查看>>
JavaScript sync and async(同步和异步)
查看>>
.Net Winform 开发笔记(四) 透过现象看本质
查看>>
Linux下显示硬盘空间的两个命令
查看>>
What’s new: Windows Phone 7 与 Windows Phone 6.5功能对比
查看>>