hbase故障如何處理-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“hbase故障如何處理”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“hbase故障如何處理”這篇文章吧。

成都創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供林口網(wǎng)站建設(shè)、林口做網(wǎng)站、林口網(wǎng)站設(shè)計(jì)、林口網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、林口企業(yè)網(wǎng)站模板建站服務(wù),10余年林口做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

一、故障現(xiàn)象

1、 首先regionserver頻繁爆出兩類(lèi)錯(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

既然通過(guò)優(yōu)化hbase本身無(wú)法解決regionserver頻繁掛掉的原因,那就必須將分析擴(kuò)大到hbase相關(guān)的進(jìn)程。與hbase密切相關(guān)的是zookeeper。我們?cè)敿?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í)長(zhǎng),確實(shí)超過(guò)了40秒。

gc時(shí)間過(guò)長(zhǎng),超過(guò)40秒的maxSessionTimeout時(shí)間,使得zk認(rèn)為regionserver已經(jīng)掛掉dead;

zk返回dead region到master,master就讓其他regionserver負(fù)責(zé)dead regionserver的regions;

其他regionserver會(huì)讀取wal進(jìn)行恢復(fù)regions,處理完的wal,會(huì)把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)

四、最終原因:tickTime超時(shí)

經(jīng)過(guò)上面的分析,是gc時(shí)間超過(guò)40秒的maxSessionTimeout導(dǎo)致的regionserver掛掉。但是,我們就很納悶了,因?yàn)槲覀冊(cè)O(shè)置的zookeeper.session.timeout超時(shí)時(shí)間為240秒,遠(yuǎn)遠(yuǎn)超過(guò)40秒時(shí)間。非常奇怪呀!

經(jīng)過(guò)hbase社區(qū)求助,以及google類(lèi)似的問(wèn)題,最終找到原因(詳細(xì)鏈接,請(qǐng)參考:/tupian/20230522/pp原來(lái)我們的HBase 并沒(méi)有設(shè)置tickTime,最終hbase與zk的會(huì)話(huà)大超時(shí)時(shí)間并不是zookeeper.session.timeout參數(shù)決定的,而是有zk的maxSessionTimeout決定。zk會(huì)根據(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)過(guò)調(diào)整zk的tickTime為6秒,相應(yīng)的zookeeper.session.timeout為120秒,最終解決regionserver 頻繁掛掉的故障。

以上是“hbase故障如何處理”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

分享文章:hbase故障如何處理-創(chuàng)新互聯(lián)
文章鏈接:http://www.muchs.cn/article38/deojpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站企業(yè)建站、網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)網(wǎng)站收錄、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)