您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“hadoop hbase集群斷電數(shù)據(jù)塊被破壞無法啟動(dòng)怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“hadoop hbase集群斷電數(shù)據(jù)塊被破壞無法啟動(dòng)怎么解決”吧!
集群機(jī)器意外斷電重啟,導(dǎo)致hbase 無法正常啟動(dòng),拋出reflect invocation異常,可能是正在執(zhí)行的插入或合并等操作進(jìn)行到一半時(shí)中斷,導(dǎo)致部分?jǐn)?shù)據(jù)文件不完整格式不正確或在hdfs上block塊不完整。
在網(wǎng)上查了一下相關(guān)資料,懷疑有可能是關(guān)閉前一些未提交的修改所存放的log文件數(shù)據(jù)寫入一半文件不完整,故把hbase.hlog.split.skip.errors改成true進(jìn)行嘗試。
關(guān)于這個(gè)參數(shù)作用的解釋:
當(dāng)服務(wù)器奔潰,重啟的時(shí)候,會有個(gè)回放的過程,把/hbase/WAL/下面記錄的log都回放一遍,合并到每個(gè)region中,回放過程中如果有error發(fā)生,這個(gè)參數(shù)又是false,那么exception就會向外層輸出,回放失敗。
但是很遺憾,將此參數(shù)修改后hbase集群仍然無法正常啟動(dòng)。
然后就琢磨其他原因,先觀察hbase啟動(dòng)時(shí)的60010監(jiān)控頁面,
發(fā)現(xiàn)部分region FAILED_OPEN錯(cuò)誤,its007-meta表一共200個(gè)region,只啟動(dòng)成功199個(gè)。
似乎想到了什么,對了,很可能是這個(gè)region的數(shù)據(jù)文件格式不正確,那就先檢查一下其在hdfs上的文件是否正常。
果不其然,觀察hadoop的50070頁面,會提示hadoop文件系統(tǒng)的具體路徑上有兩個(gè)數(shù)據(jù)塊出錯(cuò)。
(關(guān)于hbase在hdfs上的目錄相關(guān)文章鏈接:HBase在HDFS上的目錄樹)
解決方法:
1. 運(yùn)行hadoop fsck / -files檢查hdfs文件
2. 發(fā)現(xiàn)/hbase/oldWALs目錄下有一個(gè)文件損壞,
運(yùn)行hadoop fsck / -delete清除損壞的文件
3. 運(yùn)行hbase hbck -details查看hbase概況,發(fā)現(xiàn)Table its007-meta有一個(gè)region加載失敗
4. 運(yùn)行hbase hbck -fixMeta嘗試修復(fù)系統(tǒng)元數(shù)據(jù)表
5. 運(yùn)行hbase hbck -fix嘗試修復(fù)region數(shù)據(jù)不一致問題。
6. 再次運(yùn)行hbase hbck -details發(fā)現(xiàn)問題仍然未修復(fù),那個(gè)region仍然加載失敗。
故直接將該region下出錯(cuò)的文件移走,暫時(shí)移至hdfs根目錄
hadoop fs -move /hbase/data/default/its007-meta/fe6463cba743a87e99f9d8577276bada/meta/9a853fdbe13046fca194051cb9f69f9b /
fe6463cba743a87e99f9d8577276bada是region的名字
9a853fdbe13046fca194051cb9f69f9b是region下出錯(cuò)的HFile,有800k大小(注:一個(gè)region下可以有多HFile)
7. 運(yùn)行hbase hbck -fix重新加載之前失敗的region,至此完成修復(fù),丟棄了出錯(cuò)的HFile
到此,相信大家對“hadoop hbase集群斷電數(shù)據(jù)塊被破壞無法啟動(dòng)怎么解決”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。