千家信息网

MQ日常维护操作有哪些

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这篇文章给大家分享的是有关MQ日常维护操作有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、MQ的启动与停止用root用户启/停需要root用户包含在mqm组中。1、
千家信息网最后更新 2024年11月22日MQ日常维护操作有哪些

这篇文章给大家分享的是有关MQ日常维护操作有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、MQ的启动与停止

用root用户启/停需要root用户包含在mqm组中。

1、MQ的启动

strmqm QMgrName

如果启动默认队列管理器,strmqm后可以忽略队列管理器名称。

在意外情况停止队列管理器后,启动可能会失败,此时可以检查上次停止后是否有IPC资源未释放,若有请予以删除,删除方法参考下面的"C.清理所有残留在系统内部的信号灯和共享内存"。

2、MQ的关闭

一般情况下,我们使用"endmqm -i QMgrName"来停止mq,如果停止失败,可以使用如下步骤:

步骤1:endmqm -p QMgrName,如果停不掉,继续步骤2;

步骤2:杀死有关进程,清理残留在系统内部的信号灯和共享内存

A.找到队列管理器程序进程

ps -ef|grep QMgrName

B.使用kill命令终止1>中找到的程序进程,无法停止的进程可以用kill -9来终止,终止进程的顺序如下(不存在的进程可以忽略):

kill amqpcsea 命令服务器
kill amqhasmx 记录器
kill amqharmx 日志格式化器(仅LINEAR日志)
kill amqzllp0 检查点处理器
kill amqzlaa0 队列管理器代理
kill amqzxma0 处理控制器
kill amqrrmfa 库进程(用于群集)
C.清理所有残留在系统内部的信号灯和共享内存(其属主和组均为mqm)
ipcs -s| grep mqm | awk '{print $2}'|xargs -i ipcrm -s {}
ipcs -m| grep mqm | awk '{print $2}'|xargs -i ipcrm -m {}

二、MQ运行状态查看与常用操作

1、查看队列管理器运行状态

对MQ 5.2或以上版本,执行如下命令检查队列管理器运行状态:dspmq
显示结果中QMNAME表示MQ队列管理器的名称,STATUS表示当前运行状态。
运行状态有如下几种:
Starting 正在启动
Running 正在运行
Ending 正在停止
Ended normally 已经正常终止
Ended immediately 已经立即终止
Ended preemtively 已经强制终止
Ended unexpectively 异常终止

注意:停止MQ后必须使用dspmq命令进行状态检查

dspmq查询结果示例:
QMNAME(QM00) STATUS(Running)

2、查看通道运行状态与启停通道

runmqsc

dis chl(*); 查看所有通道定义

dis chs(*); 查看所有通道状态,如果没有查询到通道状态,或报错AMQ8420: Channel Status not found,请启动通道

dis chs(ChannelName); 查看通道ChannelName的状态

通道状态有如下几种:

STARTING 正在启动
BINDING 正在绑定
INITIALIZING 正在初始化
RUNNING 正常
STOPPING正在停止
RETRYING 重试
PAUSED 等待
STOPPED 已停止
REQUESTING 请求

start chl(ChannelName); 启动通道

stop chl(ChannelName); 停止通道

reset channel(ChannelName); 重置通道序号。当本地与其他MQ队列管理器的通道无法正常启动的情况,检查日志发现是通道序号不一致,此时就需要先停止发送方通道,并在发送方和接收方进行通道计数的重置,重置后启动通道即可恢复通讯。

3、查看通道监听状态与启停监听

runmqsc

dis listner(*); 查看通道监听定义

dis lsstatu(listnerName); 查看监听状态

start lstr(listnerName); 启动监听

stop lstr(listnerName); 停止监听

4、查看队列深度

runmqsc

dis q(*); 查看所有各类队列的属性

dis qlocal(QName); 查看所有本地队列的属性

队列深度属性为:CURDEPTH

5、查看死信队列
dis qlocal(DEADQName)

三、日常维护项目

1、监控文件系统/var/mqm的使用情况,建议不要超过80%。

2、定期报告MQ系统错误,备份清理MQ系统错误记录
在遇到问题时,检查/var/mqm/errors目录下是否有新的FDC文件产生,如果有应当检查原因。另外,要定期检查该目录下MQ错误日志。

3、检查日志个数是否增长
使用命令cd移动到MQ日志所在目录(/var/mqm/log/QMgrName/active/),使用ls -l|wc命令统计。


4. 检查MQ队列管理器错误日志
当系统运行不正常时首先检查:/var/mqm/qmgrs/QMgrName/errors/AMQERR0n.LOG

错误消息生成后总是放在AMQERR01中,AMQERR02和AMQERR03文件用于保存历史错误消息。

感谢各位的阅读!关于"MQ日常维护操作有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0