0712-6.2.0-HBase快照异常

Fayson的github: https://github.com/fayson/cdhproject

推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f

1 异常重现

1.1 删除表后用快照恢复不成功

查看当前表test2信息

scan ‘test2’

在这里插入图片描述

在CM为test2创建一个快照test2_shot1

在这里插入图片描述

删除表test2,可以看到表已经被删除

在这里插入图片描述

用之前保存的快照恢复,异常如下,由于表不存在了,第一步检查表是否启用就出现异常。

在这里插入图片描述

1.2 truncate清空表之后快照恢复不成功

同样,先查看表test3的数据

scan ‘test3’

在这里插入图片描述

然后创建快照test3_shot1

在这里插入图片描述

清空表test3的数据

truncate ‘test3’

在这里插入图片描述

在CM从快照恢复,显示是恢复成功的,但是去表查询,发现数据是空的。

在这里插入图片描述

在命令行执行scan ‘test3’查询数据为空

在这里插入图片描述

而且现在再为test3来创建快照会失败,如下图

在这里插入图片描述

2 异常分析

2.1 删除表后快照恢复不成功分析

这个问题是由于CDH6.2.0上在进行HBase Snapshot Restore的过程中,会先进行is_enabled的操作。但假如这个表是已经被drop掉的情况下,会报表不存在。这会导致我们在CDH6.2.0上无法进行下一步的restore的操作。

再一步经过确认后,确定是hbase.sh文件导致。这个是CDH6.2.0的一个bug,等待后续版本修复。

2.2 truncate清空表后快照恢复不成功分析

这个也是CDH6.2.0的一个bug,等待后续版本修复。

3 异常解决

3.1 删除表后快照恢复不成功解决办法

直接在HBase shell命令行用restore_snapshot ‘test2_shot1’可以恢复成功

restore_snapshot ‘test2_shot1’
scan ‘test2’

在这里插入图片描述

查询表数据,和之前的数据一致。

3.2 truncate清空表后快照恢复步成功解决办法

目前没有其他方法来解决,确认是属于CDH6.2.0的一个bug,等待后续版本修复。现阶段只能在快照的使用中避开引起异常的操作方式。

4 总结

本文所提出的两个HBase快照恢复的问题,都属于C6的bug。目前,在进行HBase快照操作的时候,请避开文中提出的引起异常的方式:做完快照后,如果是删除表可以使用后台命令的方式恢复,不要truncate清空表因为无法恢复。等待后续的CDH版本进行更新修复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值