spark任务中入hbase任务全部失败了,查看日志发现hbase出现问题

报错日志:

  1. 在hbase的log中看到报错
    Call queue is full on xxxx,16000,1611197476326, too many items queued
    修改了配置文件,增加了队列数量
     <property><name>hbase.regionserver.handler.count</name><value>200</value></property><property><name>hbase.regionserver.metahandler.count</name><value>80</value></property>

参数说明:https://hijiazz.gitee.io/hbase-callqueue-isfull/
2. 并且zookeeper好像挂掉了,后来重启zk。

然后重启hbase后出现了region不一致的情况。

尝试进行修复

  • ​前提:HDFS fsck 确保 hbase跟目录下文件没有损坏丢失,如果有,则先进行坏block 移除。
  • ​步骤1. 看webUI中lock页面是否有锁住的producer
    先尝试bypass -or +pid ,将父producer解锁,再bypass -o将子producer解锁
  • ​步骤2. 看webui中是否出现RIT卡在了OPENNING/CLOSING状态的region,使用assigns -o 进行重分配,生成新的producer
  • ​步骤3. 再次查看lock中是否出现新的,重复步骤1和2,直到RIT消失或lock中不再出现新的。
  • ​步骤4. 使用hbase hbck --details [表名] 来查看表状态
  • ​步骤5. 如果日志中出现status=inconsistencies证明还存在region不一致,搜索ERROR(在vim命令模式输入/ERROR来搜索)查看信息,每个ERROR都有错误说明,根据说明进行修复。
  • ​步骤6. 可能出现几种情况:
    1. hdfs上region不存在但是元数据存在:对regionID进行assigns或extraRegionsInMeta --fix进行修复
    2. hdfs上region存在但是元数据不存在,尝试重建元数据 addFsRegionsMissingInMeta
    3. not deployed on any region server,尝试assign此region
    4. region元数据在dn1但实际是在dn2上启动的,尝试unassign在assigns
    实际上面的解决办法都不一定能解决,实际如何解决的有待商榷。
    根据hbck2 -help 来查看帮助文档,看看其中的命令在什么情况下使用,然后就操作就行了。
    最终解决的办法是hbase hbck后还存在5个region不一致,后来将他们在hdfs上删除了(会丢失数据),然后重新assign这些region,(这里可能会存在一定时间的延迟,多执行几次hbase hbck和assigns命令)最终hbase hbck后status=ok了,不一致的region特别多或者数据不可以删除能修复尽量去修复,总共修复了15/6个小时,还是在第二天将最后几个无法处理掉的region删除后集群才恢复正常的,本来是存在56个不一致的region的。
  • ​步骤7. 如果出现数据空洞,There is a hole in the region chain between. You need to create a new .regioninfo and region dir in hdfs to plug the hole
    三个解决办法
    1. 使用fixMeta命令来重建空洞和修复region重叠,(使用后没效果)
    2. 删除HDFS对应region下recovered.edits,然后执行assigns之类操作,注意会丢失部分数据,(我使用的这个,只出现了一两个region数据空洞,并且数据丢一点可以接受),网上博客说的删除所有表的尽量不要去操作,我这里只是删除了出现数据空洞的region下的recovered.edits
    3. 增加配置后重启集群:提高regionserver的线程数量,以此来提高rs处理region的能力(没测试)
<property>  <name>hbase.regionserver.executor.openregion.threads</name> <value>100</value>
</property>
  • ​步骤8. 尽量阅读hbck2的help文档,理解一下里面命令的使用准则,在根据hbase hbck中的ERROR信息对应进行修复,里面的命令在解决的过程中基本都尝试过了,但是对其理解的还是不透,后续还要在研究一下,如果实在是尽力了也无法修复,那就删除它吧,目前只能修复到这种地步了,经过16个小时的尝试最后剩余了5个region只能删除了,然后问题就解决掉了,HBCK2修复元数据网上的资料实在是太少了,只能摸着石头过河,不断成长。

参考/引用博客:

官网文档:https://github.com/apache/hbase-operator-tools/tree/master/hbase-hbck2
队列参数修改:https://hijiazz.gitee.io/hbase-callqueue-isfull/
hbck2使用:https://www.modb.pro/db/54575
Hbase修复博客:https://cloud.tencent.com/developer/article/1359221 它里面的连接也可以一并看下

第二次尝试修复Hbase2出现Region不一致,使用 HBCK2 - 2021.11.15相关推荐

  1. 第一次尝试修复Hbase2出现Region不一致,HBCK2

    出现问题的原因 Hadoop中报错,集群中某节点的一块磁盘损坏了,运维修复后,hbase出现了region不一致的情况. 修复HBCK2 首先查看web ui中被lock的producer,先释放父r ...

  2. 杰奇数据库mysql_杰奇模板出现Unable to save result set in…可尝试修复数据库

    使用 当出现这个报错的时候,可以通过尝试修复数据库来解决,一般情况下都可以解决. 其他需要修复数据库的情况请参考一下方法:(别处抄来的) 网站前台突然没数据显示了,但网页的框架还在,就是数据库里的数据 ...

  3. GDCM:尝试修复损坏的J2K / DICOM的测试程序

    GDCM:尝试修复损坏的J2K / DICOM的测试程序 GDCM:尝试修复损坏的J2K / DICOM的测试程序 GDCM:尝试修复损坏的J2K / DICOM的测试程序 #include &quo ...

  4. ppt打不开,显示发现文件中的内容有问题。尝试修复此演示文稿无果!

    ppt打不开,显示发现文件中的内容有问题.尝试修复此演示文稿无果! 1.首选推荐大家一个免费下载PPT模板的网站 2.搜索主题并下载 3.解决PPT打不开问题 1.首选推荐大家一个免费下载PPT模板的 ...

  5. 解决方案:ppt打不开,显示发现文件中的内容有问题。可尝试修复此演示文稿

    解决方案:ppt打不开,显示发现文件中的内容有问题.可尝试修复此演示文稿 参考文章: (1)解决方案:ppt打不开,显示发现文件中的内容有问题.可尝试修复此演示文稿 (2)https://www.cn ...

  6. DevpTips【powerpoint】发现打不开,显示发现文件中的内容有问题。可尝试修复此演示文稿。

    powerpoint发现打不开,显示发现文件中的内容有问题.可尝试修复此演示文稿. 遇到问题 powerpoint发现打不开,显示文件中的内容有问题.可尝试修复此演示文稿,如下: 解决 可以解决 pp ...

  7. PPT打开出错/可尝试修复此演示文稿

    从百度文库下载的PPT,打开时提示发现问题,PowerPoint可尝试修复此演示文稿.如果您信任此演示文稿的来源,请单击"修复". 解决办法: 选中PPT,单击右键,选择" ...

  8. Office问题:PowerPoint发现.pptx 中的内容有问题。PowerPoint可尝试修复此演示文稿。

    当用office的PowerPoint软件打开ppt/pptx文件显示: 发现XXX.pptx 中的内容有问题.PowerPoint可尝试修复此演示文稿. 如果PPT是从网上下载的模板等,可尝试如下解 ...

  9. ppt打不开,显示发现文件中的内容有问题。可尝试修复此演示文稿

    ppt打不开,显示发现文件中的内容有问题.可尝试修复此演示文稿 PPT发现要打开的文件有问题,修复后无法打开该文件 解决方法: 主要是因为文件是网络下载的,office自动锁定了文件(默认不可编辑). ...

最新文章

  1. vb.net中类型转换
  2. lvs + keepalive的安装配置
  3. webpack1.x环境配置与打包基础【附带各种 “坑“ 与解决方案!持续更新中...】
  4. 小组级Windows下架设git服务器
  5. 仿任务面板 跨多个RecyclerView的Item拖动 支持缩小后拖动
  6. 放大镜 讲课_《放大镜》的教学设计
  7. ubuntu结束进程快捷键_ubuntu快捷键设置大全
  8. linux局域网互传文件(使用scp)
  9. AI值得信任吗?“可信AI”或能给出答案
  10. 杨凌职业技术学院计算机专业宿舍,杨凌职业技术学院宿舍怎么样
  11. Python基础学习笔记:匿名函数
  12. js的数据类型和强制类型转换
  13. [杨可桢]机械设计基础题库 机械设计基础习题 2022机械设计基础考试题答案 杨可桢《机械设计基础》(第7版)笔记和课后习题(含考研真题)详解
  14. 第十七章 : 网络系统
  15. 科创人·神州数码集团CIO沈旸:最佳实践模式正在失灵,开源加速分布式创新
  16. matlab铁路平板车装货问题,用数学建模解决两辆铁路平板车的装货问题
  17. 我对汉诺塔问题的理解
  18. KiCad #学习笔记02#|国产在线电路设计软件立创EDA (Arduino UNO 单片机最小系统电路原理图)
  19. IPV6公网ip的获取,搞定
  20. 揭秘B站,程序员穿女装敲代码,效率更高是真的吗?

热门文章

  1. 学大数据找IT十八掌
  2. Java学习笔记三——数据类型
  3. 2016.03.04,英语,《Vocabulary Builder》Unit 04
  4. 根据select不同的选项实现相应input框添加项的显示
  5. [转]Win7 系统安装VS2008没反应 点击安装一闪就没有反应 .
  6. 图谱问答-理解query
  7. [Leetcode][第1025题][JAVA][除数博弈][数学][递推]
  8. 回溯——伯努利装错信封问题
  9. .net千万级数据导出_记一次解决docker下oracle数据库故障事例
  10. java中使用几率_Java中使用蒙特卡洛算法计算德州扑克成牌概率(二)- 计算牌面分值...