hbase2.x RIT(region in transition)背景知识
在hbase1.x中transition是令广大大数据运维人员头疼的一个话题,因为,region 的状态转移涉及到了三个核心组件,分别为:hbase master,zookeeper和hbase 的regionserver,这三个组件中的某一个region的状态都是一致的情况下,这个region 才算是正常,状态转移过程及其复杂,hbase 集群很容易出现RIT。
好消息是,hbase2.x中,把zookeeper 中的状态取消了,region 的状态直接在master 和 regionserver 直接变化。
在hbase2.x 中几乎所有的集群操作都是通过procedure进行的,这也就意味着,产生异常的过程大部分都是在proceduer中,比如region opening 过程卡死或者closing 过程卡死,最终都会导致region 的状态有问题,即产生region in transition。
好消息是,hbase2.x中有个工具HBCK2,这个工具可不是简单的hbase1.x中hbck 的升级,变化有点大,详细变化请参考帮助文档(https://github.com/apache/hbase-operator-tools/tree/master/hbase-hbck2)。这个工具的工作实际就是修复各种不正常的procedure。(本文已提供工具免费下载)
一.RIT region长期处于OPEING
如果RIT中的region长期处于opening状态,按以下步骤排查:
1.查看该region对应的regionserver日志,搜索该region名字,看有没有报错
1)如果有报错,提示有坏的hfile文件(如下图),
则把hfile文件mv走,mv hfile之后一般情况下该region会自动好,如果还是处于RIT,就先bypass掉相关procedure,然后再unassign,再assign一下
2)如果有报错The new max sequence id 1 is less than the max sequence id
方法1:disable 表,再enable 表
方法2:
对于从hbase1迁移到hbase2的表,如果表的DATA_BLOCK_ENCODING是PREFIX_TREE,由于PREFIX_TREE在hbase2里已废弃,所以需要修改
2.如果该region对应的regionserver日志中没有明显错误,就先bypass掉相关procedure,然后再把region设置为OFFLINE,再assign一下
如果还是不行,就先bypass掉相关procedure,然后再把region状态设为OFFLINE,再unassign,再assign
二.RIT region长期处于CLOSING
1.先bypass相关procedure,再把region状态设置为CLOSED,然后再assign
hbase hbck -j hbase-hbck2-1.0.0.0-SNAPSHOT.jar setRegionState region名字 CLOSED
三.RIT region长期处于OFFLINE
把region assign
四.某个hbase表已经删除,但是还有这个表相关的region处于RIT
处理步骤:
1.bypass 该region相关的procedure
2.从meta表查看该region的信息
3.deleteall从meta表删除该region
4.切换hmaster
hbase UI上的RIT应该是从meta表里拿的状态为OPENING、OFFLINE等中间状态的region。从meta表里删了的,切了hmaster之后就没有了;状态改为CLOSED的region, CLOSED不是中间状态,是最终状态了,所以也就没有了。
五.hbase2 HBCK Report Region Holes
Hbck report中显示有holes。Region Holes(Region空洞:Region不连续)
查看该问题可通过master UI界面的HBCK Report查看
解决方法很简单,直接使用 hbck2 提供的 fixMeta 操作即可。
在 Usage 说明中能看到 fixMeta 能够修复 ‘holes’,‘overlaps’ 等 region 问题,但是需要注意必须确保 hbase:meta 是健康的状态下进行修复操作!也就是确保表里的所有 region 都是 OPEN 状态再进行此操作,确保不会对集群造成额外的影响。
执行命令
hbase hbck -j $HBASE_HOME/lib/hbase-hbck2-1.3.0-SNAPSHOT.jar fixMeta
等待一段时间,这个过程可以监控 master 日志,如果一切顺利问题就解决啦。
六.Hbck report Unkown server处理
base 查询出现org.apache.hadoop.hbase.NotServingRegionException:
table.region is not online on hregionservername
重启hmaster,出现region无法自动分配,assign region也无法重新分配。
查看hbck report 发现有unknown servers的问题。
原因:regionserver的name发生变化。
删除掉当前未知的regionsever,恢复正常
hbase hbck -j hbase-hbck2-1.3.0-SNAPSHOT.jar scheduleRecoveries unknowservername
附
批量脚本
如果有多个region需要处理可以使用批量脚本
1.批量bypass
从页面http://hmaster主机:16010/procedures.jsp拿到procedure id列表
然后批量bypass
2.批量unassign
从页面http://hmaster主机:16010/master.jsp拿到region列表
3.批量assign
4.批量set offline
猜你喜欢
- 17天前(希尔顿2021活动)希尔顿集团618盛夏大促开启
- 17天前(从“见世面”到“内在需要”:在海南,追问旅行的意义)从“见世面”到“内在需要”:在海南,追问旅行的意义
- 17天前(兵团猛进秦剧团持续开展“戏曲进校园”活动)兵团猛进秦剧团持续开展“戏曲进校园”活动
- 17天前(“为人民绽放——国家艺术基金优秀剧目展演”在合肥开幕)“为人民绽放——国家艺术基金优秀剧目展演”在合肥开幕
- 17天前(云南滇陇工程咨询有限公司)陇滇携手谋发展 文旅合作谱新篇
- 17天前(花王伴你乐享五一好“趣”处)花王伴你乐享五一好“趣”处
- 17天前(2025年安徽省“百场黄梅唱响百家景区”示范展示启动)2025年安徽省“百场黄梅唱响百家景区”示范展示启动
- 17天前(新西兰登陆《我的世界》!全球首个目的地游戏模组震撼上线)新西兰登陆《我的世界》!全球首个目的地游戏模组震撼上线
- 17天前(第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- 17天前(海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章