异常重现

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.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.1 删除表后快照恢复不成功解决办法

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

restore_snapshot ‘test2_shot1’scan ‘test2’

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

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

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

总结

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

为什么hbase里没有表会显示表已经存在_0712-6.2.0-HBase快照异常相关推荐

  1. hbase里插入big int数据用Phoenix查看的报错问题

    Phoenix建表 create table "test_big_int"( "ROW" varchar primary key, "ci" ...

  2. hbase hdfs外部表_硬核干货长文!Hbase来了解一下不?

    本文公众号来源:互联网侦察   作者:channingbreeze 最近我也在入门大数据相关的基础,这篇文章非常通俗易懂讲解了什么是Hbase,推荐阅读! 等我学所成,我也来写写大数据相关的入门知识. ...

  3. hbase 建的表删除不掉的问题,已成功解决,经验分享

    所用平台:hadoop 2.7.1,hbase 1.0.1.1,hbase api 1.0.1.1 发现的问题:之前在eclipse中调用api建表.填充数据.查看数据.删除数据.删除表都已经成功,但 ...

  4. 在HBase里使用MapReduce例子

    « 如何在Hadoop中使用Streaming编写MapReduce | 首页 | Nutch中MapReduce的分析 » 在HBase里使用MapReduce例子 作者:马士华 发表于:2008- ...

  5. php 清除数据表中所有数据库,清除一个数据库里所有表的数据

    如果需要清除一个数据库里所有表的数据,则可用下面命令: exec sp_MSforeachtable TRUNCATE TABLE ? ******************************** ...

  6. css——模态框【遮罩层的制作;信息层;往白色的块里添加表单】

    目   录 1.遮罩层的制作 2.信息层 3.往白色的块里添加表单 1.遮罩层的制作 <!DOCTYPE html> <html lang="zh-CN"> ...

  7. Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询

    1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...

  8. table中加表单元素怎么验证_使用element-ui +Vue 解决 table 里包含表单验证的问题...

    应用场景: 在实际使用中经常会遇到需要在Form表单中使用table表格进行表单提交,同时又需要对table的字段进行校验,效果如图所示: 这个校验中,最关键的问题在于如何给el-form-item ...

  9. oracle删除库里的所有表,清空mysql指定库里全部表数据-自动删除所有表,有外键约束的表优先删除...

    清空mysql指定库里所有表数据-自动删除所有表,有外键约束的表优先删除 由于要清空数据库数据 ,手动非常麻烦.网上找了一下,有一个Oracle的,参照它,在其上修改一下用于Mysql,把代码奉献如下 ...

最新文章

  1. CVPR 2020目标跟踪多篇开源论文(上)
  2. 他们为什么融资上市?因为用好了……
  3. 4 Git 分支 - 分支开发工作流
  4. 允许服务与桌面交互_在后全面屏时代 手机需要什么样的人机交互?
  5. BestCoder Round #39 解题报告
  6. 聯想集團與NBA簽署營銷協議
  7. 理解C++ dynamic_cast
  8. python 匿名函数 与 重要的内置函数
  9. Intellij IDEA 报错java.lang.NoClassDefFoundError
  10. python3.8安装pygame_Python3.8安装Pygame教程
  11. freebasic 编译linux,FreeBasic(basic语言编译器)0.90.1官网版
  12. Qt QLabel详解
  13. java gwt_java – 将GWT与Spring集成
  14. 淘宝省钱_如何省钱和组装自己的电路板
  15. wifi物理地址怎么改_怎么修改手机的物理地址
  16. 龙腾世纪:起源–最后的古代墓碑和剑圣盔甲
  17. HTML+CSS+JS网页设计期末课程大作业:中华传统文化主题设计题题材【非遗文化14页】 web前端开发技术 web课程设计 网页规划与设计
  18. 平安夜,愿大家平安健康!
  19. nodejs 实现 redis 的消息发布及订阅
  20. Java是剑客,.NET是刀客

热门文章

  1. 用css 添加手状样式,鼠标移上去变小手,变小手
  2. mysql 替换 汉字_MySQL替换文字
  3. android中tools的含义及用法
  4. 是时候了解React Native了
  5. 研发工程师如何转型项目经理
  6. 断言(Assertion)需要注意的一个地方
  7. Oracle数据库性能优化
  8. Vue中的三种Watcher
  9. Vuex中的核心方法
  10. verilog加法器_【HDL系列】Kogge-Stone加法器原理与设计