這篇文章主要為大家展示了“hbase故障如何處理”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“hbase故障如何處理”這篇文章吧。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供林口網(wǎng)站建設(shè)、林口做網(wǎng)站、林口網(wǎng)站設(shè)計(jì)、林口網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、林口企業(yè)網(wǎng)站模板建站服務(wù),10余年林口做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。1、 首先regionserver頻繁爆出兩類錯(cuò)誤:
wal.FSHLog: Error syncing, request close of WAL:
以及出現(xiàn)錯(cuò)誤:
org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 293 actions: NotServingRegionException: 42 times
以及出現(xiàn)regionserver dead 故障:
Region server exiting java.lang.RuntimeException: HRegionServer Aborted
既然通過優(yōu)化hbase本身無法解決regionserver頻繁掛掉的原因,那就必須將分析擴(kuò)大到hbase相關(guān)的進(jìn)程。與hbase密切相關(guān)的是zookeeper。我們詳細(xì)分析看zk的日志,比如之前regionserver在03:03:17時(shí)間出現(xiàn)了regionserver dead 報(bào)錯(cuò)信息,因此我們分析zk在這個(gè)時(shí)間段前后的日志。從日志看到regionserver與zk的超時(shí)時(shí)間是40秒,“the sessions negotiated with zookeeper from dead regionserver were of 40s”。然后再查看regionserver的gc時(shí)長,確實(shí)超過了40秒。
gc時(shí)間過長,超過40秒的maxSessionTimeout時(shí)間,使得zk認(rèn)為regionserver已經(jīng)掛掉dead;
zk返回dead region到master,master就讓其他regionserver負(fù)責(zé)dead regionserver的regions;
其他regionserver會讀取wal進(jìn)行恢復(fù)regions,處理完的wal,會把wal文件刪除;
dead regionserver的gc完成,并且恢復(fù)服務(wù)之后,找不到wal,已經(jīng)產(chǎn)生上面截圖中的報(bào)錯(cuò)(wal.FSHLog: Error syncing, request close of WAL);
dead regionserver從zk得知自己dead,就關(guān)閉自己(Region server exiting,java.lang.RuntimeException: HRegionServer Aborted)
經(jīng)過上面的分析,是gc時(shí)間超過40秒的maxSessionTimeout導(dǎo)致的regionserver掛掉。但是,我們就很納悶了,因?yàn)槲覀冊O(shè)置的zookeeper.session.timeout超時(shí)時(shí)間為240秒,遠(yuǎn)遠(yuǎn)超過40秒時(shí)間。非常奇怪呀!
經(jīng)過hbase社區(qū)求助,以及google類似的問題,最終找到原因(詳細(xì)鏈接,請參考:/tupian/20230522/pp原來我們的HBase 并沒有設(shè)置tickTime,最終hbase與zk的會話大超時(shí)時(shí)間并不是zookeeper.session.timeout參數(shù)決定的,而是有zk的maxSessionTimeout決定。zk會根據(jù)minSessionTimeout與maxSessionTimeout兩個(gè)參數(shù)重新調(diào)整最后的超時(shí)值,minSessionTimeout=2*tickTime, maxSessionTimeout=20*tickTime。我們的大數(shù)據(jù)集群,zk的tickTime設(shè)置為默認(rèn)值(2000ms)2秒,因此,最終hbase 與 zk的超時(shí)時(shí)間就為40秒。
經(jīng)過調(diào)整zk的tickTime為6秒,相應(yīng)的zookeeper.session.timeout為120秒,最終解決regionserver 頻繁掛掉的故障。
以上是“hbase故障如何處理”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
分享文章:hbase故障如何處理-創(chuàng)新互聯(lián)
文章鏈接:http://jinyejixie.com/article38/deojpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、企業(yè)建站、網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)、網(wǎng)站收錄、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容