GaussDB for DWS生產(chǎn)應(yīng)急指導(dǎo)

      網(wǎng)友投稿 764 2025-03-31

      1.1 應(yīng)用側(cè)作業(yè)大量報(bào)錯(cuò)

      前提

      在業(yè)務(wù)作業(yè)自動(dòng)重提三次后仍報(bào)錯(cuò)。

      應(yīng)急步驟

      步驟1、健康檢查

      使用gs_check工具進(jìn)行健康檢查,以omm用戶登錄MPPDB集群CN實(shí)例所在服務(wù)器。

      C80及以上版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_check ? -e health

      C70版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_check

      根據(jù)檢查結(jié)果判斷是否有異常。

      步驟2、故障排查

      查看集群狀態(tài)確認(rèn)是否有CN實(shí)例故障

      登錄集群內(nèi)服務(wù)器,執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      cm_ctl ? query -Cv

      確認(rèn)有無異常實(shí)例,若有,按照實(shí)例故障處理。

      1.2 應(yīng)用側(cè)作業(yè)運(yùn)行緩慢

      前提

      單位小時(shí)完成的批量作業(yè)數(shù)減少。

      應(yīng)急步驟

      步驟1、健康檢查

      使用gs_check工具進(jìn)行健康檢查,以omm用戶登錄MPPDB集群CN實(shí)例所在服務(wù)器。

      C80及以上版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_check ? -e health

      C70版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_check

      根據(jù)檢查結(jié)果判斷是否有異常。

      步驟2、當(dāng)前活躍語句查詢

      以omm用戶登錄CN實(shí)例所在服務(wù)器,執(zhí)行如下命令登錄postgres數(shù)據(jù)庫:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gsql ? -d postgres -p 25308 -r

      執(zhí)行如下查詢SQL語句,查看當(dāng)前語句并發(fā):

      select ? usename, count(*) from pgxc_stat_activity where state='active' and ? application_name not in ('WorkloadMonitor', 'workload', 'JobScheduler') ? group by usename;

      確認(rèn)各用戶占用的并發(fā)數(shù)是否在正常范圍內(nèi)。

      執(zhí)行如下查詢SQL語句,查找當(dāng)前正在運(yùn)行的語句:

      select ? usename,application_name, now() -query_start as time, left(query,20) from ? pgxc_stat_activity where state='active' and application_name not in ('WorkloadMonitor', 'workload', 'JobScheduler')order ? by query_start;

      將當(dāng)前正在運(yùn)行的sql語句按照?qǐng)?zhí)行啟動(dòng)時(shí)間升序排列。查看是否有執(zhí)行時(shí)間較長的語句。

      步驟3、表清理作業(yè)確認(rèn)

      確認(rèn)步驟2查詢的結(jié)果中是否有vacuum full語句:

      根據(jù)步驟2查詢結(jié)果的query列的值,判斷是否正在并發(fā)執(zhí)行物理表的vacuum full。

      若確認(rèn)有并發(fā)vacuum full且影響批量正常執(zhí)行,執(zhí)行步驟4;

      若確認(rèn)沒有并發(fā)vacuum full,獲取query_start最早的幾個(gè)作業(yè)的query_id列的值,執(zhí)行步驟5。

      步驟4、表清理作業(yè)停止

      應(yīng)用側(cè)確認(rèn)是否啟動(dòng)table_clean作業(yè)。若已啟動(dòng)table_clean作業(yè),并且對(duì)當(dāng)前批量影響較大,需要應(yīng)用停下table_clean作業(yè)。

      步驟5、作業(yè)等待分析

      以omm用戶登錄CN實(shí)例所在的服務(wù)器,連接postgres數(shù)據(jù)庫,執(zhí)行如下查詢SQL語句,查看作業(yè)的等待情況:

      select ? * from pgxc_thread_wait_status where query_id='${query_id}' order by tlevel;

      注:其中${query_id}為步驟3查出的query_id列值。

      根據(jù)pgxc_thread_wait_status視圖的wait_status列,確認(rèn)等待的DN是否一致,并記錄DN編號(hào),執(zhí)行步驟6;

      步驟6、單節(jié)點(diǎn)資源使用查看

      以omm用戶登錄CN實(shí)例所在的服務(wù)器,根據(jù)步驟5分析的DN編號(hào),確認(rèn)服務(wù)器,執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      cm_ctl ? query -Cvd|grep ${dnnum}

      注:其中${dnnum}為DN的編號(hào)。

      示例:假設(shè)DN_6001_6002為步驟5分析的DN編號(hào),在主備平衡時(shí),DN編號(hào)為6001。

      根據(jù)查詢結(jié)果,記錄服務(wù)器的hostname,以omm用戶登錄集群內(nèi)的該服務(wù)器,依次查看:

      1、使用TOP命令查看CPU使用情況,判斷節(jié)點(diǎn)是否有CPU使用異常高;

      2、使用TOP命令查看內(nèi)存使用情況,判斷節(jié)點(diǎn)是否有內(nèi)存使用異常;

      3、使用iostat命令查看IO使用情況,判斷節(jié)點(diǎn)是否有IO使用異常,io util接近100%, IO wait持續(xù)超過100ms即為IO利用率高,需要降低并發(fā)。

      4、使用sar命令查看網(wǎng)絡(luò)使用情況,判斷節(jié)點(diǎn)是否網(wǎng)絡(luò)使用達(dá)到瓶頸;

      5、使用ifconfig命令查看業(yè)務(wù)網(wǎng)絡(luò)丟包情況,判斷節(jié)點(diǎn)是否網(wǎng)絡(luò)丟包嚴(yán)重;

      在確認(rèn)本機(jī)資源相對(duì)其他服務(wù)器資源使用異常情況下,按照步驟7進(jìn)行隔離;

      步驟7、單節(jié)點(diǎn)隔離

      確認(rèn)服務(wù)器的hostname,以omm用戶登錄CN實(shí)例所在的服務(wù)器,

      C80SPC800以下版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      cm_ctl ? view|grep ${hostname} -B1|grep "node :"

      注:${hostname}為待隔離機(jī)器的主機(jī)名。

      示例:獲取的結(jié)果樣例為"node : 1",取"node :"后的數(shù)值為該機(jī)器的node_id。

      以omm用戶登錄CN實(shí)例所在的服務(wù)器,執(zhí)行:

      cm_ctl ? stop -n ${node_id} -m i

      注:${node_id}為待隔離的服務(wù)器的node_id。

      執(zhí)行完成后確認(rèn)被隔離的服務(wù)器的所有實(shí)例均停止且對(duì)應(yīng)的備實(shí)例狀態(tài)切換為"Primary Normal"后,執(zhí)行:

      cm_ctl ? start -n ${node_id}

      注:${node_id}為被隔離的服務(wù)器的node_id。

      完成后通知應(yīng)用支持部重提失敗作業(yè)。

      C80SPC800以上版本執(zhí)行:

      gs_om ? -t isolate_tostandby -h HOSTNAME

      完成后確認(rèn)集群狀態(tài)為Normal后,通知應(yīng)用支持部重提失敗作業(yè)。

      1.3 CN實(shí)例異常

      前提

      執(zhí)行DDL語句報(bào)錯(cuò)。

      應(yīng)急步驟

      步驟1、服務(wù)器狀態(tài)檢查

      確認(rèn)服務(wù)器是否有異常,若服務(wù)器異常,安排設(shè)備部排查,并更換硬件,完成后設(shè)備自動(dòng)加入集群。若無硬件故障,執(zhí)行步驟2;

      步驟2 、CN實(shí)例狀態(tài)檢查

      重要:請(qǐng)?jiān)谘邪l(fā)支持部和華為現(xiàn)場(chǎng)工程師確認(rèn)后實(shí)施。

      確認(rèn)其他CN實(shí)例是否異常,使用omm用戶登錄集群內(nèi)服務(wù)器,執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      cm_ctl ? query -Cv

      確認(rèn)僅一個(gè)CN實(shí)例故障,執(zhí)行CN剔除,參考LibrA產(chǎn)品手冊(cè)的《管理員指南》章節(jié)的《LibrA管理》段落的《刪除Coordinator實(shí)例》描述。

      1.4 DN實(shí)例異常

      前提

      主備balance不平衡。

      應(yīng)急步驟

      步驟1、健康檢查

      使用gs_check工具進(jìn)行健康檢查,以omm用戶登錄MPPDB集群CN實(shí)例所在服務(wù)器。

      C80及以上版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_check ? -e health

      C70版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_check

      根據(jù)檢查結(jié)果判斷是否有異常。

      步驟2、主備倒換

      確認(rèn)故障實(shí)例已恢復(fù)后,可以進(jìn)行主備倒換。以下主備倒換為整個(gè)集群所有不平衡的主備節(jié)點(diǎn)全部進(jìn)行倒換(cm_ctl switchover -a),如需單實(shí)例倒換請(qǐng)參見2.2節(jié)。

      為防止主備切換耗時(shí)過長,需要先停止應(yīng)用,要求先做下面步驟:

      針對(duì)C80SPC800以下版本,登陸MPPDB集群的CN節(jié)點(diǎn),執(zhí)行下面命令

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gsql ? -d postgres -p 25308 -ar -c "select * from pgxc_stat_activity where ? usename!='omm' ">1.log

      查看1.log 內(nèi)容:

      ü? ?如無返回記錄,說明沒有應(yīng)用的SQL在跑;

      ü? ?如1.log有返回記錄,則需要通知應(yīng)用停止應(yīng)用,如在應(yīng)用停止的前提下1.log仍然要應(yīng)用SQL在運(yùn)行(提交到集群上的尚未執(zhí)行完的SQL),需要登錄到對(duì)應(yīng)的CN,執(zhí)行下面SQL 殺掉尚在運(yùn)行的SQL。

      select ? pg_terminate_backend(${PID});

      注:PID 為 1.log中的pid字段值。

      完成后,執(zhí)行以下語句進(jìn)行checkpoint及主備倒換:

      gsql ? -dpostgres -p25308 -c "checkpoint"

      cm_ctl ? switchover -a

      針對(duì)C80SPC800以上版本

      在應(yīng)用側(cè)停批、且無運(yùn)行SQL的情況下,執(zhí)行如下主備倒換命令,恢復(fù)集群:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_om ? -t killsession(用于替代上面的殺SQL命令)

      gsql ? -dpostgres -p25308 -c "checkpoint"

      cm_ctl ? switchover -a -q

      1.5 CN、DN所在機(jī)器宕機(jī)

      前提

      服務(wù)器節(jié)點(diǎn)無響應(yīng),CN實(shí)例所在服務(wù)器宕機(jī)會(huì)導(dǎo)致DDL作業(yè)報(bào)錯(cuò)。

      應(yīng)急步驟

      步驟1、業(yè)務(wù)重提

      單節(jié)點(diǎn)故障不影響批量運(yùn)行,可以重調(diào)因機(jī)器故障導(dǎo)致的中斷批量業(yè)務(wù)。

      步驟2、故障服務(wù)器修理

      修復(fù)并重啟故障服務(wù)器,自動(dòng)添加到集群中。

      注:CN故障時(shí)間長,請(qǐng)按照“CN實(shí)例異常”應(yīng)急方案處理。

      步驟3、健康檢查

      使用gs_check工具進(jìn)行健康檢查,以omm用戶登錄MPPDB集群CN實(shí)例所在服務(wù)器。

      C80及以上版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_check ? -e health

      C70版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_check

      根據(jù)檢查結(jié)果判斷是否有異常。

      GaussDB for DWS生產(chǎn)應(yīng)急指導(dǎo)

      1.6 OMS、GTM、CMS所在機(jī)器宕機(jī)

      前提

      GTM、CMS所在服務(wù)器DN切換為備實(shí)例

      應(yīng)急步驟

      步驟1、業(yè)務(wù)重提

      單節(jié)點(diǎn)故障不影響批量運(yùn)行,可以重調(diào)因機(jī)器故障導(dǎo)致的中斷批量業(yè)務(wù)。

      步驟2、故障服務(wù)器修理

      修復(fù)并重啟故障服務(wù)器,自動(dòng)添加到集群中。

      步驟3、健康檢查

      使用gs_check工具進(jìn)行健康檢查,以omm用戶登錄MPPDB集群CN實(shí)例所在服務(wù)器。

      C80及以上版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_check ? -e health

      C70版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_check

      根據(jù)檢查結(jié)果判斷是否有異常。

      1.7 集群進(jìn)入只讀模式

      前提

      1、應(yīng)用業(yè)務(wù)作業(yè)報(bào)錯(cuò)包含關(guān)鍵詞“read-only transaction”

      2、查看集群存儲(chǔ)利用率:

      以omm用戶登陸集群CN實(shí)例所在的服務(wù)器,執(zhí)行下面步驟:

      source ? /opt/huawei/Bigdata/mppdb/.mppdbgs_profile

      cm_ctl ? query -Civ | grep Primary | awk '{print $3}' | sort -u > /tmp/hosts

      for ? i in `cat /tmp/hosts`; do ssh -n -q $i "hostname;df -m" ;done > ? df_m_201902.out 2>&1 &

      查看 df_m_201902.out 文件,有個(gè)別文件系統(tǒng)的存儲(chǔ)利用率達(dá)到90%

      應(yīng)急步驟?參考附件《磁盤使用超90%集群只讀處理方案》

      1.8磁盤損壞(包含有壞道、xfs文件系統(tǒng)損壞)

      前提

      需包含壞道、xfs文件系統(tǒng)損壞判斷依據(jù),MPPDB集群讀寫XFS文件系統(tǒng)異常。

      應(yīng)急步驟

      步驟1、影響確認(rèn)

      確認(rèn)磁盤壞道、XFS文件損壞對(duì)集群的影響,

      若故障導(dǎo)致了數(shù)據(jù)讀取失敗報(bào)錯(cuò),或者數(shù)據(jù)庫實(shí)例發(fā)生core dump,執(zhí)行步驟2。

      若故障未影響數(shù)據(jù)讀取,執(zhí)行步驟3

      步驟2、實(shí)例隔離

      1)若服務(wù)器所有磁盤都出現(xiàn)故障:

      C80SPC800以下版本執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      cm_ctl ? view|grep ${hostname} -B1|grep "node :"

      注:${hostname}為待隔離機(jī)器的主機(jī)名。

      示例:獲取的結(jié)果樣例為"node : 1",取"node :"后的數(shù)值為該機(jī)器的node_id。

      以omm用戶登錄CN實(shí)例所在的服務(wù)器,執(zhí)行:

      cm_ctl ? stop -n ${node_id} -m i

      注:${node_id}為待隔離的服務(wù)器的node_id。

      執(zhí)行完成后確認(rèn)被隔離的服務(wù)器的所有實(shí)例均停止且對(duì)應(yīng)的備實(shí)例狀態(tài)切換為"Primary Normal"后,執(zhí)行:

      cm_ctl ? start -n ${node_id}

      注:${node_id}為被隔離的服務(wù)器的node_id。

      完成后通知應(yīng)用支持部重提失敗作業(yè)。

      C80SPC800以上版本執(zhí)行:

      gs_om ? -t isolate_tostandby -h HOSTNAME

      完成后檢查集群狀態(tài)為Normal后,通知應(yīng)用支持部重提失敗作業(yè)。

      2)若服務(wù)器部分磁盤出現(xiàn)故障:

      確認(rèn)服務(wù)器的hostname,以omm用戶登錄CN實(shí)例所在的服務(wù)器,執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      cm_ctl ? view|grep ${hostname} -B1|grep "node :"

      注:${hostname}為待隔離機(jī)器的主機(jī)名。

      示例:獲取的結(jié)果樣例為"node : 1",取"node :"后的數(shù)值為該機(jī)器的node_id。

      確認(rèn)故障服務(wù)器磁盤掛載目錄的主實(shí)例路徑,執(zhí)行:

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      cm_ctl ? query -Cvd|grep ${hostname}|grep "/srv/BigData/mppdb/${dataN}"

      注:${hostname}為待隔離機(jī)器的主機(jī)名,${dataN}為故障磁盤掛載點(diǎn)。根據(jù)獲取的結(jié)果確認(rèn),實(shí)例路徑。一般存在一個(gè)主實(shí)例一個(gè)備實(shí)例。

      執(zhí)行:

      cm_ctl ? stop -n ${node_id} -D ${DN_dir} -m i

      執(zhí)行完成后確認(rèn)被隔離的服務(wù)器的所有實(shí)例均停止且對(duì)應(yīng)的備實(shí)例狀態(tài)切換為"Primary Normal"后,執(zhí)行:

      cm_ctl ? start -n ${node_id} -D ${DN_dir}

      注:${node_id}為被隔離的服務(wù)器的node_id。

      完成后通知應(yīng)用支持部重提失敗作業(yè)。

      步驟3、節(jié)點(diǎn)修復(fù)

      聯(lián)系系統(tǒng)部修復(fù)故障磁盤或者XFS修復(fù)。

      更多精彩內(nèi)容,請(qǐng)關(guān)注華為云開發(fā)者社區(qū)論壇:https://bbs.huaweicloud.com/forum/forum-598-1.html 及微信公眾號(hào)“華為云AI”

      附件: 磁盤使用超90%集群只讀處理方案.doc 174.50KB 下載次數(shù):3次

      SQL 數(shù)據(jù)倉庫服務(wù) GaussDB(DWS)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:簡(jiǎn)易的項(xiàng)目管理軟件
      下一篇:隱藏excel工作表的教程
      相關(guān)文章
      亚洲乱码一二三四区麻豆| 中文字幕人成人乱码亚洲电影 | 亚洲美女视频网站| 亚洲精品无码久久久久sm| 国产亚洲午夜高清国产拍精品 | 亚洲AV成人潮喷综合网| 国产精品久久久久久亚洲影视| 国产成人精品亚洲2020| xxx毛茸茸的亚洲| 久久精品国产亚洲AV久| 亚洲av一本岛在线播放| 国产精品亚洲午夜一区二区三区| 亚洲大尺码专区影院| 亚洲伦理一二三四| 国产精品亚洲片在线va| 亚洲色偷偷偷综合网| 亚洲av午夜电影在线观看| 亚洲va中文字幕| 老司机亚洲精品影院在线观看| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲1区2区3区精华液| 小说区亚洲自拍另类| 亚洲av无码乱码在线观看野外| 亚洲最大av无码网址| 亚洲日韩欧洲无码av夜夜摸| 日韩va亚洲va欧洲va国产| 久久夜色精品国产亚洲AV动态图| 亚洲天天做日日做天天看| 亚洲综合视频在线观看| 亚洲一级特黄特黄的大片| 亚洲乱码日产精品一二三| 天天综合亚洲色在线精品| 亚洲国产成人精品无码久久久久久综合| 91亚洲精品第一综合不卡播放| 亚洲激情黄色小说| 77777午夜亚洲| 国产亚洲欧美日韩亚洲中文色| 亚洲福利在线播放| 亚洲综合伊人久久综合| 亚洲精品私拍国产福利在线| 91亚洲视频在线观看|