第4章 HBase数据备份及恢复
本章内容:
- 使用
distcp
进行关机全备份 - 使用
CopyTable
在表间复制数据 - 将HBase表导出为HDFS上的转储文件
- 以从HDFS上导入转储文件方式恢复HBase数据
- 备份NameNode的元数据
- 备份区域开始键
- 集群复制
4.1 简介
若要在生产环境中使用HBase,必须了解备份HBase的各种可选方案和操作方法。备份HBase时的难点是其待备份的数据集可能非常巨大,因此备份方案必须有很高的效率。HBase备份方案必须既能够伸缩至对数百TB的存储容量进行备份,又能够在一个合理的时间范围内完成数据恢复的工作。
备份HBase有两种策略。
- 关闭集群然后进行全备份
- 在线对集群进行备份
在进行关机全备份时,必须首先关闭HBase(或禁用所有表),然后使用Hadoop的distcp
命令将HBase目录中的内容复制到同一(或另一)HDFS中的其他目录中。在使用关机全备份进行恢复时,只要使用distcp
命令将所备份的文件复制回原HBase目录就可以了。
在线备份集群也有以下几种方法。
- 使用
CopyTable
工具来将一张表的数据复制到另一张表中 - 将HBase表导出为HDFS文件,然后再将文件导入到HBase中
- HBase集群复制
CopyTable
实用程序可以用来在一张表与本集群(或其他集群)中的另一张表之间复制数据。Export
实用程序可将某张表中的数据转储到本集群的HDFS中。作为Export
的搭档,Import
实用程序可用来恢复转储文件中的数据。
上述每种方法都有其自身的优缺点。关机全备份的优点是在备份过程中集群不会有数据写入,因此它能够确保备份的一致性。其不足之处也很显而易见,那就是要关闭集群。对于在线备份集群的方式来说,因为集群处于运行状态,所以有在备份过程中丢失某些数据修改的风险。此外,HBase的数据修改只是一个行级的原子操作,如果你的表是彼此依赖的,而且在执行 ...
Get HBase管理指南 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.