怎么解決由MasterProcWals狀態(tài)日志過多導(dǎo)致的HBaseMaster重啟失敗問題

這篇文章主要介紹“怎么解決由MasterProcWals狀態(tài)日志過多導(dǎo)致的HBase Master重啟失敗問題”,在日常操作中,相信很多人在怎么解決由MasterProcWals狀態(tài)日志過多導(dǎo)致的HBase Master重啟失敗問題問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么解決由MasterProcWals狀態(tài)日志過多導(dǎo)致的HBase Master重啟失敗問題”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)拱墅免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

1 文檔編寫目的

本文主要講述如何解決由MasterProcWals狀態(tài)日志過多導(dǎo)致的HBase Master重啟失敗問題。

測試環(huán)境:

操作系統(tǒng)版本為Redhat7.2

CM和CDH版本為5.13.1

2     問題描述

由于某些已知存在的問題,會導(dǎo)致MasterProcWals狀態(tài)日志過多,如果重啟HBase Master,可能會導(dǎo)致HBase Master啟動失敗。因為HBase Master進入活動狀態(tài)需要讀取并實例化所有正在運行的程序當(dāng)前記錄在/hbase/MasterProcWALs/目錄下對應(yīng)的文件。如果此文件夾太大,HBase Master將在完全變?yōu)榛顒訝顟B(tài)之前超時并崩潰。

問題特征:

1、HBase Master 重啟失敗前,會打印出類似的日志:

2018-07-07 17:43:08,619 INFOorg.apache.hadoop.hbase.util.FSHDFSUtils: Recover lease on dfs filehdfs://nameservice1/hbase/MasterProcWALs/state-00000000000000084815.log

2018-07-07 17:43:08,619 INFOorg.apache.hadoop.hbase.util.FSHDFSUtils: Recovered lease, attempt=0 onfile=hdfs://nameservice1/hbase/MasterProcWALs/state-00000000000000084815.logafter 0ms

2018-07-07 17:43:08,624 INFOorg.apache.hadoop.hbase.util.FSHDFSUtils: Recover lease on dfs filehdfs://nameservice1/hbase/MasterProcWALs/state-00000000000000084816.log

2018-07-07 17:43:08,625 INFOorg.apache.hadoop.hbase.util.FSHDFSUtils: Recovered lease, attempt=0 onfile=hdfs://nameservice1/hbase/MasterProcWALs/state-00000000000000084816.logafter 1ms

2018-07-07 17:43:08,630 INFO org.apache.hadoop.hbase.util.FSHDFSUtils:Recover lease on dfs filehdfs://nameservice1/hbase/MasterProcWALs/state-00000000000000084859.log

2018-07-07 17:43:08,630 INFOorg.apache.hadoop.hbase.util.FSHDFSUtils: Recovered lease, attempt=0 onfile=hdfs://nameservice1/hbase/MasterProcWALs/state-00000000000000084859.logafter 0ms

2018-07-07 17:43:08,678 FATALorg.apache.hadoop.hbase.master.HMaster: Failed to become active master

java.lang.NullPointerException

2、查看HBase Master日志,還能看到如下信息:

2018-07-07 17:43:38,978 WARN org.apache.hadoop.hdfs.BlockReaderFactory:I/O error constructing remote block reader. java.net.SocketException: Too manyopen files

3、通常你能夠在/hbase/MasterProcWALs目錄下看到大量的日志文件,并且這些日志文件占用HDFS存儲空間總和可能已經(jīng)達到TB級別了??梢酝ㄟ^如下命令查看/hbase/MasterProcWALs目錄占用HDFS存儲空間大?。?/p>

hdfs dfs -du -s -h /hbase/MasterProcWALs

注:執(zhí)行該命令后,我的/hbase/MasterProcWALs目錄大小將近10 TB(不含副本)

3     解決方案

3.1  問題解決

該問題主要和HBase某個分支的實現(xiàn)方式有關(guān),據(jù)說已經(jīng)重新設(shè)計了該實現(xiàn)方式,新的實現(xiàn)方式能夠避免該問題,將在CDH 6中應(yīng)用。

如果出現(xiàn)由MasterProcWals狀態(tài)日志過多導(dǎo)致的HBase Master重啟失敗問題建議先將/hbase/MasterProcWALs目錄下的所有文件備份,然后刪除/hbase/MasterProcWALs目錄下的所有文件,重啟HBase Master即可解決問題。

3.2  相關(guān)建議

建議啟用HBase Master 日志清除器插件,定時清理日志。

怎么解決由MasterProcWals狀態(tài)日志過多導(dǎo)致的HBase Master重啟失敗問題

目前默認配置的清除器插件有ReplicationLogCleaner、SnapshotLogCleaner和TimeToLiveLogCleaner這三種:

  • ReplicationLogCleaner:如果有跨集群數(shù)據(jù)同步的需求,通過該Cleaner來保證那些在同步中的日志不被刪除;

  • SnapshotLogCleaner:被表的snapshot使用到了的wal不被刪除;

  • TimeToLiveLogCleaner:日志文件最后修改時間在配置參數(shù){hbase.master.logcleaner.ttl默認600秒}之前的可以刪除。

到此,關(guān)于“怎么解決由MasterProcWals狀態(tài)日志過多導(dǎo)致的HBase Master重啟失敗問題”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

當(dāng)前標(biāo)題:怎么解決由MasterProcWals狀態(tài)日志過多導(dǎo)致的HBaseMaster重啟失敗問題
地址分享:http://bm7419.com/article48/iiochp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、網(wǎng)站內(nèi)鏈、微信公眾號、網(wǎng)站排名、動態(tài)網(wǎng)站、面包屑導(dǎo)航

廣告

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

成都seo排名網(wǎng)站優(yōu)化