146、HBase备份和还原实用程序的限制

HBase备份和还原实用程序的限制

串行备份操作

备份操作不能同时运行。操作包括创建,删除,还原和合并等操作。仅支持一个活动备份会话。HBASE-16391 将引入多备份会话支持。

无法取消备份

备份和还原操作都无法取消。(HBASE-15997,HBASE-15998)。取消备份的解决方法是终止客户端备份命令(control-C),确保已退出所有相关的MapReduce作业,然后运行该hbase backup repair命令以确保系统备份元数据一致。

备份只能保存到单个位置

将备份信息复制到多个位置是留给用户的练习。HBASE-15476将引入本质上指定多备份目标的功能。

需要HBase超级用户访问权限

只允许HBase超级用户(例如hbase)可以执行备份/恢复,这可能会对共享HBase安装造成问题。当前的缓解措施需要与系统管理员协调,以构建和部署备份和还原策略(HBASE-14138)。

备份还原是一种在线操作

要从备份执行还原,它需要HBase集群在线作为当前实现(HBASE-16573)的警告。

某些操作可能会失败并需要重新运行

HBase备份功能主要由客户端驱动。虽然HBase连接中内置了标准的HBase重试逻辑,但执行操作中的持久性错误可能会传播回客户端(例如,由于区域拆分导致的快照失败)。应将备份实现从客户端移到将来的ProcedureV2框架中,这将为瞬态/可重试故障提供额外的稳健性。该hbase backup repair命令用于纠正系统无法自动检测和恢复的状态。

避免公开API的声明

虽然存在与此功能交互的Java API,并且它的实现与接口分离,但没有足够的严格性来确定它是否正是我们要向用户运送的。因此,它被标记为一个Private受众,期望随着用户开始尝试该功能,将有必要修改兼容性(HBASE-17517)。

缺乏备份和还原的全局指标

单独的备份和还原操作包含有关操作所包含的工作量的指标,但没有集中位置(例如主用户界面),它提供信息用于消费(HBASE-16565)。