更新时间:2024-07-24 GMT+08:00
HBase数据恢复任务报错回滚失败
问题
HBase恢复任务执行失败后系统自动回滚数据,若页面详情中提示“Rollback recovery failed”信息,表示回滚失败。由于回滚失败后就不会处理数据,所以有可能产生垃圾数据,需要如何解决?
回答
在下次执行备份或恢复任务前,需要手动清除这些垃圾数据。
- 安装集群客户端,例如安装目录为“/opt/client”。
- 使用客户端安装用户,执行source /opt/client/bigdata_env命令配置环境变量。
- 执行kinit admin命令。
- 执行zkCli.sh -server ZooKeeper节点业务IP地址:2181连接ZooKeeper。
- 执行deleteall /recovering删除垃圾数据。然后执行quit退出ZooKeeper连接。
执行该命令会导致数据丢失,请谨慎操作。
- 执行hdfs dfs -rm -f -r /user/hbase/backup删除临时数据。
- 登录FusionInsight Manager界面,选择“运维 > 备份恢复 > 恢复管理”,在任务列表中对应任务的“操作”列,单击“查询历史”,在弹出的窗口中,在指定一次执行记录前单击,即可查看相关的快照名称信息:
Snapshot [ snapshot name ] is created successfully before recovery.
- 切换到客户端,执行hbase shell,然后运行delete_all_snapshot 'snapshot name.*'删除临时快照。
父主题: HBase故障排除