这篇文章主要介绍“Hbase备份与恢复的方法是什么”,在日常操作中,相信很多人在Hbase备份与恢复的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hbase备份与恢复的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
快照就是一份元信息的合集,允许管理员恢复到表的先前状态。快照不是表的复制而是一个文件名称列表,因而不会复制数据。
HBase中存在的备份或克隆表的方法就是使用复制/导出表或者在关闭表之后拷贝HDFS中的所有HFile。 复制或导出是通过一系列工具调用MapReduce来扫描并复制表,这样会对RegionServer有直接的影响。关闭表会停止所有的读写操作,实际环境中往往无法接受。 相比之下HBase快照允许管理员不拷贝数据,而直接克隆一张表,这对域服务器产生的影响最小。将快照导出至其他集群不会直接影响到任何服务器;导出只是带有一些额外逻辑的群间数据同步。 完全快照恢复是指恢复到之前的“表结构”以及当时的数据,快照之后发生的数据不会恢复。
导出快照与复制/导出表除了更好地保持一致性外,主要的不同在于导出快照是在HDFS的层面操作的。 这意味着HMaster和域服务器与操作无关。因此不需要为不必要的数据创建缓存空间,也不会有扫描过程。因为大量对象创建引起的GC暂停,对于HBase 来说主要性能影响就是DataNode额外的网络和磁盘负载。
使用快照备份数据
1.配置文件配置可以使用快照功能
<property> <name>hbase.snapshot.enabled</name> <value>true</value> </property>
2.新建一个快照
> snapshot 'www','www001'
3.查看所有的快照
> list_snapshots
4.使用快照克隆一个表
> clone_snapshot 'www001','wwww'
5.恢复数据到快照
> disable 'www' > restore_snapshot 'www001'
6.删除快照
> delete_snapshot 'www001'
7.使用ExportSnapshot将当前快照导出至其他集群,导出工具不会影响到域服务器的负载,只是在HDFS层面,所以需要指定HDFS路径(其它集群的hbase根目录)
hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshotName -copy-to hdfs://server1:8082/hbase
到此,关于“Hbase备份与恢复的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。