HBASE 2.2.6 永久REGION IN TRANSITION 异常解决
- 環境
- 問題原因
- 解決方法
- 總結
環境
Hbase 版本:2.1.0(CDH6.2.0)
問題原因
服務器由于云的錯誤啟動,導致大數據環境上超過半數的機器都出現了磁盤問題或者操作系統故障,導致HDFS上文件塊損壞、Hbase 存在HDFS上的數據塊損壞,清理HDFS上的數據導致Hbase Region上的數據出現不一致情況。
出現RIT問題的Region在HDFS上的路徑已經被刪除,zookeeper下未找到相關節點的信息,但是Hbase meta表依然保留了該HTable的信息,Hbase在啟動時按meta表中的數據去open Region,發現該Region有如下問題No HDFS region dir found:,無法open Region,導致Hbase陷入永久Region in Transition問題。
解決方法
Hbase 2.x 版本 RIT信息已經不再Zookeeper中保存 AssignmentManagerV2:https://yq.aliyun.com/articles/601096- 1、首先我們刪除 hbase:meta 中的region元信息,該表已經不再在了,元信息也是沒有用的垃圾數據。
上圖框中的內容就是存在 meta表中的rowkey,我們直接去刪除就可以 - 2、刪除meta表數據
- 3、停止Hbase服務
- 4、刪除/hbase/MasterProcWALs 下的文件,
不刪除該文件,master重啟后還是會讀取該日志文件,刪除前請先備份。
我們大概看下內容,發現包含RIT的信息 。
如果不刪除該日志文件,我們重啟master服務,會發現RIT還是存在,但是state變成了OFFLINE,server 變成 null
- 5、重啟Hbase
發現已經沒有RIT問題了,并且Hbase上出問題的相關表也消失了。
- 6、進入hbase sehll平衡節點
總結
當RIT發生的時候,是執行不了 balance 的,所以永久RIT的狀況要及時解決。
正常使用情況下的RIT問題基本不需要處理,這種永久性RIT問題出現的頻率不會很高,刪除元數據需謹慎,最好在測試環境測試后,再在生產環境使用。
參考文章:
https://blog.csdn.net/zhangshenghang/article/details/104835735
總結
以上是生活随笔為你收集整理的HBASE 2.2.6 永久REGION IN TRANSITION 异常解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop Yarn常用参数配置项整理
- 下一篇: hbase-admin:一款简陋的hba