
# HBase恢复数据任务报错回滚失败
#### 问题现象
HBase恢复任务执行失败后系统自动回滚数据，如果页面详情中提示"Rollback recovery failed"信息，表示回滚失败。由于回滚失败后就不会处理数据，所以有可能产生垃圾数据，需要如何解决？
#### 处理步骤
在下次执行备份或恢复任务前，需要手动清除这些垃圾数据。
1. 安装集群客户端，例如安装目录为"/opt/client"。
2. 使用客户端安装用户，执行以下命令配置环境变量： 
   ```
   source /opt/client/bigdata_env
   ```
   
   
3. 执行以下命令认证用户： 
   ```
   kinit admin
   ```
   
   
4. 执行以下命令连接ZooKeeper 
   ```
   zkCli.sh -server ZooKeeper节点业务IP地址:2181
   ```
   
   
5. 执行以下命令删除垃圾数据： 
   ```
   deleteall /recovering
   ```
   **执行该命令会导致数据丢失，请谨慎操作。**
   再执行**quit**退出ZooKeeper连接。
   
   
6. 执行以下命令删除临时数据： 
   ```
   hdfs dfs -rm -f -r /user/hbase/backup
   ```
   
   
7. 登录FusionInsight Manager界面，选择"运维 \> 备份恢复 \> 恢复管理"，在任务列表中对应任务的"操作"列，单击"查询历史"，在弹出的窗口中，在指定一次执行记录前单击![](https://support.huaweicloud.com/trouble-mrs/zh-cn_image_0000001676747442.png)，即可查看相关的快照名称信息：
   
   ```
   Snapshot [ snapshot name ] is created successfully before recovery.
   ```
   
   
8. 切换到客户端，执行**hbase shell** 登录HBase客户端，然后运行以下命令删除临时快照：
   
   ```
   delete_all_snapshot 'snapshot name.*'
   ```
   
   
 
