十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
這篇文章給大家分享的是有關(guān)MQ日常維護(hù)操作有哪些的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)按需網(wǎng)站設(shè)計(jì),是成都網(wǎng)站建設(shè)公司,為紙箱提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開(kāi)發(fā)等。成都網(wǎng)站建設(shè)熱線:028-86922220
一、MQ的啟動(dòng)與停止
用root用戶啟/停需要root用戶包含在mqm組中。
1、MQ的啟動(dòng)
strmqm QMgrName
如果啟動(dòng)默認(rèn)隊(duì)列管理器,strmqm后可以忽略隊(duì)列管理器名稱(chēng)。
在意外情況停止隊(duì)列管理器后,啟動(dòng)可能會(huì)失敗,此時(shí)可以檢查上次停止后是否有IPC資源未釋放,若有請(qǐng)予以刪除,刪除方法參考下面的“C.清理所有殘留在系統(tǒng)內(nèi)部的信號(hào)燈和共享內(nèi)存”。
2、MQ的關(guān)閉
一般情況下,我們使用“endmqm -i QMgrName”來(lái)停止mq,如果停止失敗,可以使用如下步驟:
步驟1:endmqm -p QMgrName,如果停不掉,繼續(xù)步驟2;
步驟2:殺死有關(guān)進(jìn)程,清理殘留在系統(tǒng)內(nèi)部的信號(hào)燈和共享內(nèi)存
A.找到隊(duì)列管理器程序進(jìn)程
ps -ef|grep QMgrName
B.使用kill命令終止1>中找到的程序進(jìn)程,無(wú)法停止的進(jìn)程可以用kill -9來(lái)終止,終止進(jìn)程的順序如下(不存在的進(jìn)程可以忽略):
kill amqpcsea 命令服務(wù)器
kill amqhasmx 記錄器
kill amqharmx 日志格式化器(僅LINEAR日志)
kill amqzllp0 檢查點(diǎn)處理器
kill amqzlaa0 隊(duì)列管理器代理
kill amqzxma0 處理控制器
kill amqrrmfa 庫(kù)進(jìn)程(用于群集)
C.清理所有殘留在系統(tǒng)內(nèi)部的信號(hào)燈和共享內(nèi)存(其屬主和組均為mqm)
ipcs -s| grep mqm | awk '{print $2}'|xargs -i ipcrm -s {}
ipcs -m| grep mqm | awk '{print $2}'|xargs -i ipcrm -m {}
二、MQ運(yùn)行狀態(tài)查看與常用操作
1、查看隊(duì)列管理器運(yùn)行狀態(tài)
對(duì)MQ 5.2或以上版本,執(zhí)行如下命令檢查隊(duì)列管理器運(yùn)行狀態(tài):dspmq
顯示結(jié)果中QMNAME表示MQ隊(duì)列管理器的名稱(chēng),STATUS表示當(dāng)前運(yùn)行狀態(tài)。
運(yùn)行狀態(tài)有如下幾種:
Starting 正在啟動(dòng)
Running 正在運(yùn)行
Ending 正在停止
Ended normally 已經(jīng)正常終止
Ended immediately 已經(jīng)立即終止
Ended preemtively 已經(jīng)強(qiáng)制終止
Ended unexpectively 異常終止
注意:停止MQ后必須使用dspmq命令進(jìn)行狀態(tài)檢查
dspmq查詢(xún)結(jié)果示例:
QMNAME(QM00) STATUS(Running)
2、查看通道運(yùn)行狀態(tài)與啟停通道
runmqsc
dis chl(*); 查看所有通道定義
dis chs(*); 查看所有通道狀態(tài),如果沒(méi)有查詢(xún)到通道狀態(tài),或報(bào)錯(cuò)AMQ8420: Channel Status not found,請(qǐng)啟動(dòng)通道
dis chs(ChannelName); 查看通道ChannelName的狀態(tài)
通道狀態(tài)有如下幾種:
STARTING 正在啟動(dòng)
BINDING 正在綁定
INITIALIZING 正在初始化
RUNNING 正常
STOPPING正在停止
RETRYING 重試
PAUSED 等待
STOPPED 已停止
REQUESTING 請(qǐng)求
start chl(ChannelName); 啟動(dòng)通道
stop chl(ChannelName); 停止通道
reset channel(ChannelName); 重置通道序號(hào)。當(dāng)本地與其他MQ隊(duì)列管理器的通道無(wú)法正常啟動(dòng)的情況,檢查日志發(fā)現(xiàn)是通道序號(hào)不一致,此時(shí)就需要先停止發(fā)送方通道,并在發(fā)送方和接收方進(jìn)行通道計(jì)數(shù)的重置,重置后啟動(dòng)通道即可恢復(fù)通訊。
3、查看通道監(jiān)聽(tīng)狀態(tài)與啟停監(jiān)聽(tīng)
runmqsc
dis listner(*); 查看通道監(jiān)聽(tīng)定義
dis lsstatu(listnerName); 查看監(jiān)聽(tīng)狀態(tài)
start lstr(listnerName); 啟動(dòng)監(jiān)聽(tīng)
stop lstr(listnerName); 停止監(jiān)聽(tīng)
4、查看隊(duì)列深度
runmqsc
dis q(*); 查看所有各類(lèi)隊(duì)列的屬性
dis qlocal(QName); 查看所有本地隊(duì)列的屬性
隊(duì)列深度屬性為:CURDEPTH
5、查看死信隊(duì)列
dis qlocal(DEADQName)
三、日常維護(hù)項(xiàng)目
1、監(jiān)控文件系統(tǒng)/var/mqm的使用情況,建議不要超過(guò)80%。
2、定期報(bào)告MQ系統(tǒng)錯(cuò)誤,備份清理MQ系統(tǒng)錯(cuò)誤記錄
在遇到問(wèn)題時(shí),檢查/var/mqm/errors目錄下是否有新的FDC文件產(chǎn)生,如果有應(yīng)當(dāng)檢查原因。另外,要定期檢查該目錄下MQ錯(cuò)誤日志。
3、檢查日志個(gè)數(shù)是否增長(zhǎng)
使用命令cd移動(dòng)到MQ日志所在目錄(/var/mqm/log/QMgrName/active/),使用ls –l|wc命令統(tǒng)計(jì)。
4. 檢查MQ隊(duì)列管理器錯(cuò)誤日志
當(dāng)系統(tǒng)運(yùn)行不正常時(shí)首先檢查:/var/mqm/qmgrs/QMgrName/errors/AMQERR0n.LOG
錯(cuò)誤消息生成后總是放在AMQERR01中,AMQERR02和AMQERR03文件用于保存歷史錯(cuò)誤消息。
感謝各位的閱讀!關(guān)于“MQ日常維護(hù)操作有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!