云數(shù)據(jù)庫(kù)GaussDB集群搭建
云數(shù)據(jù)庫(kù)GaussDB集群搭建
云數(shù)據(jù)庫(kù)GaussDB集群?jiǎn)⑼?wèn)題常見案例
1.整節(jié)點(diǎn)未啟動(dòng),om_monitor進(jìn)程不存在
問(wèn)題現(xiàn)象:?jiǎn)?dòng)集群時(shí)整節(jié)點(diǎn)未啟動(dòng),對(duì)應(yīng)節(jié)點(diǎn)上om_monitor進(jìn)程不存在
定位過(guò)程:
omm用戶登錄到到未啟動(dòng)的節(jié)點(diǎn),使用以下命令確認(rèn)om_monitor進(jìn)程不存在:
ps –eaf | grep om_monitor
1.1 Om_monitor定時(shí)任務(wù)未掛載
場(chǎng)景描述:使用如下命令查看啟動(dòng)om_monitor的定時(shí)任務(wù)是否掛載到cron服務(wù)上,如果未掛載上,則是安裝失敗或定時(shí)任務(wù)被刪除。通過(guò) crontab服務(wù)可以看到如下命令,代表om_monitor服務(wù)掛載成功。
crontal -l

解決方法:參照正常節(jié)點(diǎn)將om_monitor定時(shí)任務(wù)服務(wù)添加到omm用戶的定時(shí)任務(wù)中。
1.2 Omm用戶密碼超期
場(chǎng)景描述:使用如下命令檢查是否設(shè)置了omm用戶密碼超期時(shí)間且密碼已過(guò)期,如果密碼超期會(huì)導(dǎo)致omm用戶定時(shí)任務(wù)無(wú)權(quán)限查看,進(jìn)而導(dǎo)致無(wú)法拉起om_monitor進(jìn)程。
chage -l omm
解決方法:使用如下命令將omm用戶密碼超期時(shí)間設(shè)置為永不過(guò)期
chage -M 99999 omm
2. 整節(jié)點(diǎn)未啟動(dòng),cm_agent進(jìn)程不存在
問(wèn)題現(xiàn)象:整節(jié)點(diǎn)未啟動(dòng),om_monitor進(jìn)程存在,但cm_agent進(jìn)程不存在
定位過(guò)程:
omm用戶登錄到未啟動(dòng)的節(jié)點(diǎn),使用以下命令確認(rèn)cm_agent進(jìn)程不存在:
ps –eaf | grep cm_agent
2.1 啟停標(biāo)志文件存在
場(chǎng)景描述:檢查om_monitor日志中是否有如下格式的日志打印,如果有說(shuō)明cgroup未掛載成功,導(dǎo)致CMA拉起異常
can't get the *cgroup*
解決方法:重新掛載cgroup。
2.2 啟停標(biāo)志文件存在
場(chǎng)景描述:檢查bin目錄下啟停標(biāo)志文件是否存在,如果存在說(shuō)明FIM界面啟動(dòng)命令未下發(fā)到后端
ll /opt/huawei/Bigdata/mppdb/core/bin/cluster_manual_start

解決方法:
1)刪除此文件即可從后臺(tái)自動(dòng)拉起該節(jié)點(diǎn)實(shí)例;
2) FIM界面啟動(dòng)命令未下發(fā)到內(nèi)核原因可排查分析該節(jié)點(diǎn)上如下兩個(gè)日志文件中的報(bào)錯(cuò)信息來(lái)確認(rèn)
/var/log/Bigdata/mpp/scriptlog/prestart.log
/var/log/Bigdata/mpp/scriptlog/start.log
2.3 Python版本過(guò)高
場(chǎng)景描述:檢查節(jié)點(diǎn)上python版本為3.x,與數(shù)據(jù)庫(kù)默認(rèn)的2.7不符,F(xiàn)IM界面啟動(dòng)時(shí)start.log日志中有如下報(bào)錯(cuò),則說(shuō)明是python版本過(guò)高導(dǎo)致啟動(dòng)異常

解決方法:
與現(xiàn)場(chǎng)人員確認(rèn)是否手動(dòng)升級(jí)過(guò)python版本或安裝了多個(gè)版本的python,并讓現(xiàn)場(chǎng)人員將節(jié)點(diǎn)上默認(rèn)python版本恢復(fù)為2.7版本。
2.4 環(huán)境變量文件為空
場(chǎng)景描述:檢查/opt/huawei/Bigdata/mppdb/.mppdbgs_profile環(huán)境變量文件為空,則說(shuō)明環(huán)境變量文件為空導(dǎo)致FIM界面啟動(dòng)命令未下發(fā)到內(nèi)核
解決方法:從正常節(jié)點(diǎn)拷貝一份過(guò)來(lái)即可。
2.5 啟停標(biāo)志文件不存在
場(chǎng)景描述:檢查bin目錄下啟停標(biāo)志文件不存在,說(shuō)明是其它原因?qū)е耾m_monitor未能啟動(dòng)cm_agent
解決方法:收集節(jié)點(diǎn)上om_monitor和cm_agent日志進(jìn)一步分析。
3. 節(jié)點(diǎn)內(nèi)部分實(shí)例未啟動(dòng),cn/dn/gtm/cm_server進(jìn)程不存在
問(wèn)題現(xiàn)象:節(jié)點(diǎn)內(nèi)部分實(shí)例未啟動(dòng),未啟動(dòng)的cn/dn/gtm/cm_server實(shí)例進(jìn)程不存在
定位過(guò)程:
omm用戶登錄到實(shí)例未啟動(dòng)的節(jié)點(diǎn),使用以下命令確認(rèn)相應(yīng)實(shí)例進(jìn)程不存在:
ps –eaf | grep gaussdb
ps –eaf | grep gs_gtm
ps –eaf | grep cm_server
3.1 信號(hào)量不足導(dǎo)致cn/dn啟動(dòng)異常
場(chǎng)景描述: 檢查對(duì)應(yīng)cn/dn實(shí)例的pg_log日志,如果有如下報(bào)錯(cuò),則說(shuō)明是信號(hào)量不足導(dǎo)致cn/dn啟動(dòng)異常

解決方法:
1)使用root用戶執(zhí)行如下命令可以將節(jié)點(diǎn)上os參數(shù)配置為預(yù)期值;
/opt/huawei/Bigdata/mppdb/wisequery/script/gs_checkos -i B1 --detail
2)建議使用巡檢工具對(duì)集群進(jìn)行全面巡檢和整改。
3.2 postgresql.conf配置文件存在無(wú)效GUC參數(shù)
場(chǎng)景描述:檢查對(duì)應(yīng)節(jié)點(diǎn)上cm_agent和systemcall日志中如果有如下報(bào)錯(cuò),則說(shuō)明cn/dn的postgresql.conf配置文件中存在無(wú)效參數(shù)配置
/var/log/Bigdata/mpp/omm/cm/cm_agent/cm_agent-YYYY-MM-DD_hhmmss-current.log
/var/log/Bigdata/mpp/omm/cm/cm_agent/system_call-YYYY-MM-DD_hhmmss-current.log

解決方法:
刪除postgresql.conf配置文件中無(wú)效參數(shù)即可。
3.3 端口號(hào)被占
場(chǎng)景描述:檢查對(duì)應(yīng)節(jié)點(diǎn)上cm_agent和systemcall日志中如果有如下報(bào)錯(cuò),則說(shuō)明cn/dn/cm_server/gtm的端口號(hào)被占
/var/log/Bigdata/mpp/omm/cm/cm_agent/cm_agent-YYYY-MM-DD_hhmmss-current.log
/var/log/Bigdata/mpp/omm/cm/cm_agent/system_call-YYYY-MM-DD_hhmmss-current.log
Port 25308 is used, run 'netstat -anop|grep 25308' or 'lsof -i:25308'(need root) to see who is using this port.
解決方法:
1)使用如下命令找到占用端口的進(jìn)程
netstat -anop|grep port
lsof -i:port (root執(zhí)行)
2) kill -9清理掉占用端口的進(jìn)程,然后重新啟動(dòng)。
3.4 Lvs虛擬ip未掛載
場(chǎng)景描述:cn的listen_addresses參數(shù)中配置了lvs虛擬ip,但cn節(jié)點(diǎn)上lvs虛擬ip未正常掛載,則也會(huì)導(dǎo)致cn啟動(dòng)不了
檢查cn實(shí)例listen_addresses配置命令:
cat /srv/BigData/mppdb/data1/coordinator/postgresql.conf|grep listen_addresses
查看節(jié)點(diǎn)上ip信息命令:/sbin/ifconfig
解決方法:使用如下命令重新掛載lvs虛擬ip
sh /etc/init.d/gs_vip start
3.5 進(jìn)程listen端口號(hào)鎖文件殘留
場(chǎng)景描述:機(jī)器異常掉電重啟等情況下可能會(huì)導(dǎo)致進(jìn)程listen端口號(hào)鎖文件殘留,這樣當(dāng)重新啟動(dòng)時(shí)會(huì)因鎖文件已存在而無(wú)法啟動(dòng)。
檢查鎖文件命令:
ls -la /opt/huawei/Bigdata/mppdb/mppdb_tmp

檢查查出來(lái)的鎖文件產(chǎn)生時(shí)間是否是在啟動(dòng)時(shí)間之前,如果是則說(shuō)明是之前殘留的。
解決方法:將殘留的鎖文件刪除。
3.6 Cn/dn的listen_addresses中存在無(wú)效ip
場(chǎng)景描述:cn/dn的postgresql.conf配置文件的listen_addresses參數(shù)存在無(wú)效ip時(shí)會(huì)導(dǎo)致cn/dn無(wú)法正常啟動(dòng),system_call日志中會(huì)有如下報(bào)錯(cuò):FATAL: could not create listen socket for "100.185.180.62"
/var/log/Bigdata/mpp/omm/cm/cm_agent/system_call-YYYY-MM-DD_hhmmss-current.log

檢查cn實(shí)例listen_addresses配置命令:
cat /srv/BigData/mppdb/data1/coordinator/postgresql.conf|grep listen_addresses
解決方法:將listen_addresses參數(shù)中的無(wú)效ip刪除。
3.7 數(shù)據(jù)目錄無(wú)權(quán)限
場(chǎng)景描述:cn/dn/gtm/cm_server的數(shù)據(jù)目錄權(quán)限預(yù)期是700,當(dāng)權(quán)限不足時(shí)cm_agent日志中會(huì)有如下報(bào)錯(cuò):
data path disc writable test failed, /srv/BigData/mppdb/data3/slave1

解決方法:根據(jù)報(bào)錯(cuò)提示修復(fù)cn/dn/gtm/cm_server數(shù)據(jù)目錄的權(quán)限。
3.8 磁盤滿
場(chǎng)景描述:節(jié)點(diǎn)上數(shù)據(jù)盤、日志盤等滿均會(huì)導(dǎo)致cn/dn/gtm/cm_server進(jìn)程啟動(dòng)異常。
磁盤使用率檢查命令:df -lh
解決方法:清理釋放磁盤空間,消除磁盤滿。
4. 節(jié)點(diǎn)內(nèi)部分實(shí)例未啟動(dòng),查看狀態(tài)CN、DN、GTM實(shí)例狀態(tài)為down或者unknown
啟動(dòng)集群失敗,后臺(tái)查看集群狀態(tài),發(fā)現(xiàn)CN、DN、GTM實(shí)例顯示down或者unknown。
4.1 當(dāng)前節(jié)點(diǎn)與主cm_server節(jié)點(diǎn)網(wǎng)絡(luò)不通
場(chǎng)景描述:當(dāng)節(jié)點(diǎn)與主cm_server節(jié)點(diǎn)網(wǎng)絡(luò)不通時(shí),當(dāng)前節(jié)點(diǎn)cm_agent無(wú)法將實(shí)例狀態(tài)上報(bào)給cm_server,導(dǎo)致實(shí)例狀態(tài)顯示為down或unknown。
檢查當(dāng)前節(jié)點(diǎn)與主cm_server節(jié)點(diǎn)網(wǎng)絡(luò)命令:在當(dāng)前節(jié)點(diǎn)上ping 主cm_server節(jié)點(diǎn)ip,如果不能ping通則說(shuō)明網(wǎng)絡(luò)異常。
解決方法:聯(lián)系網(wǎng)絡(luò)側(cè)人員解決網(wǎng)絡(luò)問(wèn)題。
4.2 Cm_server無(wú)主
場(chǎng)景描述:當(dāng)集群中兩個(gè)cm_server實(shí)例均為pending狀態(tài),沒有選出主時(shí),無(wú)法對(duì)DN狀態(tài)進(jìn)行仲裁,導(dǎo)致DN狀態(tài)均顯示為down或unknown。
檢查當(dāng)前集群cm_server狀態(tài)命令:
cm_ctl query -vCd|grep cm_server
解決方法:收集主備cm_server日志并聯(lián)系研發(fā)人員處理。
4.3 節(jié)點(diǎn)上存在多個(gè)om_monitor進(jìn)程
場(chǎng)景描述:當(dāng)節(jié)點(diǎn)上存在多個(gè)om_monitor進(jìn)程時(shí),會(huì)導(dǎo)致cm_agent進(jìn)程反復(fù)被殺,無(wú)法持續(xù)向cm_server上報(bào)實(shí)例狀態(tài),進(jìn)而導(dǎo)致節(jié)點(diǎn)上實(shí)例狀態(tài)顯示為down或unknown。
檢查當(dāng)前節(jié)點(diǎn)om_monitor個(gè)數(shù)命令:
ps -ef|grep om_monitor|grep -v grep
解決方法:kill掉當(dāng)前所有om_monitor進(jìn)程待起自動(dòng)重新拉起。