原文鏈接:https://www.gbase.cn/community/post/4318
更多精彩內(nèi)容盡在南大通用GBase技術(shù)社區(qū)丹禀,南大通用致力于成為用戶最信賴的數(shù)據(jù)庫產(chǎn)品供應(yīng)商状勤。
在當(dāng)今信息化鞋怀、大數(shù)據(jù)的環(huán)境中,數(shù)據(jù)庫的應(yīng)用無處不在持搜,它作為存儲和管理數(shù)據(jù)的核心密似,對于企業(yè)的運營具有至關(guān)重要的作用。然而葫盼,就像所有的技術(shù)產(chǎn)品一樣残腌,數(shù)據(jù)庫也可能會出現(xiàn)各種問題。本文針對南大通用GBase 8c可能出現(xiàn)的數(shù)據(jù)庫啟動失敗進(jìn)行故障定位分析贫导。本文以GBase 8c V5 5.0.0版本為例抛猫。
故障現(xiàn)象
GBase 8c數(shù)據(jù)庫安裝好后無法正常啟動,例如顯示如下錯誤信息:
排查過程
(1)從數(shù)據(jù)庫的啟動失敗信息入手脱盲,首先查看日志邑滨,確認(rèn)端口占用信息。
進(jìn)入到日志目錄下钱反,執(zhí)行命令:
cd $GAUSSLOG
如下圖所示:
1)排查pg_log最新的日志發(fā)現(xiàn),內(nèi)核日志中無明顯報錯匣距,可以確定啟動信號未傳給數(shù)據(jù)庫內(nèi)核面哥,從而判斷om工具檢測不通過,導(dǎo)致拋出異常毅待,數(shù)據(jù)庫啟動失敗尚卫。
2)排查om日志發(fā)現(xiàn),有明顯的5432端口占用報錯信息尸红,例如返回如下信息:
(3)發(fā)現(xiàn)端口占用問題吱涉,檢查端口占用情況,執(zhí)行命令
netstat -anpt |grep 5432
例如返回如下信息:
上圖表明該機器上存在一個postgres進(jìn)程外里,已經(jīng)占用GBase 8c配置文件中所需的5432端口怎爵。
(4)解決端口問題。為了不影響其他服務(wù)運行盅蝗,可以通過修改GBase 8c服務(wù)進(jìn)程的端口鳖链。
1)進(jìn)入安裝目錄下,執(zhí)行:
cd $GAUSSHOME
2)修改postgresql.conf配置文件:
vim postgresql.conf
將port修改為其他墩莫,例如5432修改為15400芙委。
3)啟動數(shù)據(jù)庫服務(wù),例如執(zhí)行:
gs_om -t restart
本次安裝不再出現(xiàn)端口占用的錯誤狂秦,成功啟動灌侣。盡管由于演示機器內(nèi)存過小,并且部署了多款應(yīng)用服務(wù)裂问,出現(xiàn)內(nèi)存不足的提示侧啼,本文圍繞故障停機展開牛柒,此錯誤提示可暫時忽略。
注意:如果其他占用端口的服務(wù)不再使用的話慨菱,也可以直接使用kill -9殺掉服務(wù)進(jìn)程焰络。謹(jǐn)慎操作!
排查思路
本文采用的例子比較簡單符喝,故障一目了然闪彼,但在其他實踐環(huán)境中,我們還是要全面排查协饲,總結(jié)排查思路如下:
檢查日志:首先查看數(shù)據(jù)庫的啟動日志畏腕,了解啟動失敗的具體原因。
檢查配置參數(shù):確認(rèn)配置參數(shù)是否合理茉稠,是否因系統(tǒng)資源不足或配置參數(shù)不滿足內(nèi)部約束導(dǎo)致啟動失敗描馅。
檢查數(shù)據(jù)節(jié)點狀態(tài):確認(rèn)所有數(shù)據(jù)節(jié)點狀態(tài)是否正常,是否存在異常節(jié)點導(dǎo)致整體啟動失敗而线。
檢查目錄權(quán)限:確認(rèn)數(shù)據(jù)庫數(shù)據(jù)目錄及關(guān)鍵系統(tǒng)目錄(如/tmp)的權(quán)限設(shè)置是否正確铭污。
檢查端口占用:確認(rèn)配置的端口是否已被其他服務(wù)占用。
檢查防火墻設(shè)置:確認(rèn)系統(tǒng)防火墻設(shè)置是否允許數(shù)據(jù)庫服務(wù)通過膀篮。
檢查互信關(guān)系:確認(rèn)各節(jié)點之間的互信關(guān)系是否建立正確嘹狞。
檢查機器資源使用情況,例如磁盤占用率 df -Th 誓竿、cpu 使用率 top磅网、內(nèi)存使用率 free -g、主備網(wǎng)絡(luò)是否正常筷屡。
使用demesg排查操作系統(tǒng)錯誤日志涧偷、是否有硬件故障、系統(tǒng)重啟等告警信息毙死。
解決方式
那么怎么解決問題呢燎潮,通常可以采用如下方式來解決规哲。在實踐的時候跟啤,請結(jié)合排查得到的問題來分析使用:
? ?調(diào)整配置參數(shù):根據(jù)日志提示調(diào)整不合理的配置參數(shù),確保系統(tǒng)資源充足且滿足內(nèi)部約束唉锌。
? ?修復(fù)數(shù)據(jù)節(jié)點:對異常的數(shù)據(jù)節(jié)點進(jìn)行修復(fù)或替換隅肥,確保所有節(jié)點狀態(tài)正常。
? ?修改目錄權(quán)限:使用chmod命令修改目錄權(quán)限袄简,確保數(shù)據(jù)庫用戶具有必要的讀寫權(quán)限腥放。
? ?釋放端口:關(guān)閉占用端口的服務(wù)或更改數(shù)據(jù)庫服務(wù)的端口號。
? ?調(diào)整防火墻設(shè)置:在防火墻中開放數(shù)據(jù)庫服務(wù)的端口绿语,或允許特定IP地址訪問數(shù)據(jù)庫服務(wù)秃症。
? ?重新建立互信關(guān)系:按照gbase的部署文檔重新配置各節(jié)點之間的互信關(guān)系候址。
對于資源不足等場景,通過top命令排查機器那些進(jìn)程占用的資源种柑,評估是否正常岗仑,然后處理相關(guān)進(jìn)程是否可以優(yōu)化。
對于硬件故障等問題聚请,通過修復(fù)或更換硬件荠雕,保證操作系統(tǒng)狀態(tài)正常后,重新啟動數(shù)據(jù)庫驶赏。
通過這個案例也能認(rèn)識到炸卑,任何技術(shù)產(chǎn)品尤其是數(shù)據(jù)庫產(chǎn)品需要進(jìn)行定期的備份和檢查,以防止損壞煤傍、故障各種問題盖文。
原文鏈接:https://www.gbase.cn/community/post/4318
更多精彩內(nèi)容盡在南大通用GBase技術(shù)社區(qū),南大通用致力于成為用戶最信賴的數(shù)據(jù)庫產(chǎn)品供應(yīng)商蚯姆。