問題概述 "新冠期間"遠程辦公,需要重新搭建一套ClouderaManager(CM)開發環境,一位測試同事發現HBase的RegionServer無法啟動,在CM界面上啟動總是失敗,觀察一下日誌,也沒有什麼明顯的報錯。我就專門看了一下。 排查思路 1. 因為有opentsdb在讀寫Hbase Re ...
問題概述
"新冠期間"遠程辦公,需要重新搭建一套ClouderaManager(CM)開發環境,一位測試同事發現HBase的RegionServer無法啟動,在CM界面上啟動總是失敗,觀察一下日誌,也沒有什麼明顯的報錯。我就專門看了一下。
排查思路
因為有opentsdb在讀寫Hbase Region Server,我一開始懷疑RegionServer啟動過程中在恢復一些數據,這個時候就有組件對它讀寫操作,可能壓力較大起不來。後來停掉了opentsdb,依然如此,日誌也沒有明顯報錯,打著打著就斷了,再看進程就沒了。
後來我在界面上又重啟了一下,迅速
jps -mlv
命令查看一下啟動參數,這一看就明白了居然給的堆記憶體50MB
,難怪起不來,啟動過程中應該就OOM
了,很快,再執行一次jps -mlv
命令 這個HRegionServer
進程已經退出了。於是我在網上搜了一下,果然
ClouderaManager(CM)
給HBase預設堆記憶體50M,豁然開朗。
解決
根據實際情況修改一下HMaster、HRegionServer堆記憶體大小,在界面上重啟,我這次用jps -mlv
命令觀察一下,配置生效了,然後看日誌,正常啟動中,至此,問題解決。
總結
有些時候 程式一啟動就掛掉,而且沒有什麼明顯報錯日誌,可能要觀察一下程式的啟動參數等。
比如說記憶體給的太小,程式壓根就不能正常啟動(OOM異常退出);
或者記憶體給的太大,向操作系統申請記憶體失敗直接被kill掉。