psql: FATAL the database system is in recovery解決

報錯:
FATAL: the database system is in recovery mode
解決思路:
在hawq master節點
1、執行hawq state ,提示 database is down
2、查看hawq master進程: ps aux | grep postgresql ,發現master進程不在
3、查看pg_log 下 當天的log

2018-02-11 16:34:32.089297 CST,,,p636599,th589375776,,,,0,,,seg-10000,,,,,"LOG","00000","seqserver process (PID 499050) exited with exit code 2",,,,,,,0,,"postmaster.c",4726,
2018-02-11 16:34:32.089388 CST,,,p636599,th589375776,,,,0,,,seg-10000,,,,,"LOG","00000","walsendserver process (PID 499051) exited with exit code 

發現master進程被人爲kill掉了。
4、手動啓動master
source /usr/local/hawq/greenplum.sh
su gpadmin
hawq start master,因爲有master pid存在,系統認爲master進程存在,於是手動強制停止master:
hawq stop master -M immediate
hawq start master,成功啓動master
發現segments並未註冊到master
5、重啓整個集羣:
hawq restart cluster
再次執行: hawq state 一切正常。


整個問題產生的原因:
hawq master跟namenode同一個節點,運維的一個同事啓動Namenode失敗,沒有確定真正原因的情況下,強行Kill掉了hawq master進程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章