MQ常用命令
MQ常用命令
MQ常用命令以下为MQ常用命令:查看发送通道:display channel(xxx)查看队列管理器: dspmq停止队列管理器:endmqm QMEMBFE删除队列管理器:dltmqm QMEMBFE重置发送通道:reset channel(xxxx)启动通道:start chl(xxxx)查看通道: dis chl(xxx)查看所有通道 dis chl(*) 或 dis chs(*)查看所有监听:dis listener(*) 或 dis lsstatu(listentName)查看本地队列:dis qlocal(xxxxx) 查看其中的CURDEPTH(0),若其>0,则说明本地队列堵塞查看死信队列:dis qlocal(DEADQ)查看本地队列:dis qlocal(*)查看本地队列深度: display ql(xxx) curdepth查看远程队列深度:display qr(xxx) curdepth查看ccsid: display qmgr all显示所有远程队列: display qremote(*)显示所有通道: display channel(*)ping通道:ping CHANNEL(xxxx)清空队列内容:clear Qlocal(Qname)(需运行 runmqsc)删除队列:delete qlocal(Qname)更改监听:alter listener(xxxx) TRPTYPE(TCP) PORT(1417) CONTROL(QMGR)停止监听: end LISTENER(xxxx)查看通道当前序列号: dis chs(xxxx) curseqno查看通道所有状态: dis chs(xxxxx) all。
mq命令
QDEPTHHI(80) QDEPTHLO(20)
QDPMAXEV(ENABLED) QDPHIEV(DISABLED)
XMITQ(QT_NT)
创建发送方通道,其传输队列为QT_NT,远程主机地址为10.10.10.2,侦听端口为1414
DEFINE CHANNEL(SDR_NT) CHLTYPE(SDR)+
CONNAME(‘10.10.10.2(1414)’) XMITQ(QT_NT) REPLACE
如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字
启动通道
runmqchl –c ChlName –m QmgrName
启动侦听
runmqlsr –t TYPE –p PORT –m QMgrName
停止侦听
endmqlsr -m QmgrName
MQSeries命令
8.退出命令行使用 end 命令。
一.MQ基本操作
MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。其基本的操作方法如下:
创建队列管理器
crtmqm –q QMgrName
-q是指创建缺省的队列管理器
删除队列管理器
远程队列定义
DEFINE QREMOTE(QRNAME) +
RNAME(AAA) RQMNAME(QMGRNAME) +
XMITQ(QTNAME)
定义模型队列
DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)
定义本地传输队列
MQ常用命令
QUEUE(QMB)
TYPE(QLOCAL)
ACCTQ(QMGR)
ALTDATE(2009-02-06)
ALTTIME(11.41.44)
BOQNAME( )
BOTHRESH(0) CLUSTER( )
CLUSNL( ) CLWLPRTY(0)
CLWLRANK(0)
CLWLUSEQ(QMGR)
CRDATE(2008-12-05)
1.查看所有队列管理器 dspmq
查看所有的通道
dis chl(name)/dis chl(*)/dis chl(*) all/dis channel(name)
查看通道状态
dis chs(name)/dis chs(*)/dis chs(*) all
查看队列
display queue(name)
查看队列管理器信息(包括 CCSID 等信息) dis qmgr
种方法。 需要注意的时,当 DEPTH 属性值为0的时候,实际上就形成了同步通信。另外,当采用 Depth 触发时,产生触发消息以后,队列将被修改为非触发方式,如果需要再次触发,需要重新设 置成允许触发。
一般而言,在实际应用中,如果通道设置成触发方式,触发类型往往设置成为 FIRST 和
DEPTH。
6.修改 ccsid
alter qmgr ccsid(“XXX”)
一、MQ 的启动与停止
用 root 用户启/停需要 root 用户包含在 mqm 组中。
1、MQ 的启动 strmqm QMgrName 如果启动默认队列管理器,strmqm 后可以忽略队列管理器名称。 在意外情况停止队列管理器后,启动可能会失败,此时可以检查上次停止后是否有 IPC 资 源未释放,若有请予以删除,删除方法参考下面的“C.清理所有残留在系统内部的信号灯和 共享内存”。
mq操作命令
1. 启动命令行QMEMBFE是QM名字runmqsc QMEMBFE (进入MQ的命令行)显示队列DISPLAY QUEUE(*)显示通道DISPLAY CHANNEL(*)显示侦听器DISPLAY LISTENER(*)SDR发送方通道,RCVR接收方通道2. 创建MQMcrtmqm -lf 16384 -lp 10 -ls 10 QMEMBFE3. 启动MQMstrmqm QMEMBFE3.1删除MQMDltmqm QMEMBFEStart chl(通道名) 启动通道4. 运行脚本runmqsc QMEMBFE < mbfemq.sc5. 确定测试商业银行所对应接入点的通道状态是否为running#runmqsc QMEMBFEdis chs(5012900001.GW2900)dis chs(GW2900.5012900001)dis chstatus(ChannelName) 查看通道状态dis chs(5012900001.GW2900)1 : dis chs(5012900001.GW2900)AMQ8420: 通道状态未找到。
dis chs(GW2900.5012900001)2 : dis chs(GW2900.5012900001)AMQ8417: 显示通道状态细节。
CHANNEL(GW2900.5012900001) CHLTYPE(RCVR)CONNAME(172.26.190.4) CURRENTRQMNAME(QME2900) STATUS(RUNNING) SUBSTATE(RECEIVE) XMITQ( )172.26.190.4 14181. 创建队列管理器crtmqm -q QMA(-q表示QMA为默认队列管理器)2. 启动队列管理器strmqm QMA(对于默认队列管理器,则为strmqm )Q 3. 启动管理器平台runmqsc QMA4. 定义本地队列define qlocal(queueA)若用于队列管理器之间进行通信,这应为define qlocal(queue1) usage(xmitq)5. 定义远程队列define qremote(queue.remote) rname(.queue)rqmname(queueB)xmitq(queue1)(.queue为远程队列管理器queueB中的本地队列)6. 定义发送端通道define channel(queueA.queueB)chltype(sdr)conname(192.168.1.90(1414)) xmitq(queueA)trptype(tcp)7. 定义接受方通道define channel(queueA.queueB) chltype(rcvr) trptype(tcp)8. 更改侦听端端口号alter listener(system.default.listener.tcp)trptype(tcp)port(1415)9. 启动侦听start listener(system.default.listener.tcp)在命令行c:\runmqlsr10. 列出侦听状态display lsstatus(*)11. 测试,向队列中放入消息amqsput queue_name queue_manager_name从队列中取出消息amqsget queue_name queue_manager_name12. 在服务器方建立用于客户方链接的通道define channel(channel2) chltype(svrconn) trptype(tcp)mcauser()13. 在客户机方,使用MQSERVER定义客户机链接通道(如使用了ActiveDirectory服务支持,则可略过本步骤)SET MQSERVER=CHANNEL1/TCP/192.168.1.90(1414) //Windowsexport MQSERVER=’CHANNEL1/TCP/server-hostname(port)’//linux15. 测试,向队列中放入消息amqsputc queue_name queue_manager_name从队列中取出消息amqsgetc queue_name queue_manager_name16. 关闭队列管理器endmqm mqm_nameendmqm -i mqm_name17. 结束所有侦听进程endmqlsr -m mqm_name18. 查看WebSphere MQ版本号dspmqver19. 查看已有的MQ管理器dspmq20. 启动WebSphere MQ Explorerstrmqcfg21.查看通道的消息序列DIS CHS(CHANNEL_NAME) CURSEQNO;。
IBMMQ常用命令
IBMMQ常用命令IBM MQ是一款广泛应用于企业级应用程序开发和数据传输的消息队列软件。
该软件具有出色的可扩展性和稳定性,可满足不同规模和需求的企业应用场景。
为了更好地管理和操作IBM MQ,下面将介绍IBMMQ常用命令。
1. crtmqm命令crtmqm命令是创建IBM MQ队列管理器的命令。
例如,要创建一个名为QMGR1的队列管理器,我们可以使用以下命令:crtmqm QMGR12. strmqm命令strmqm命令是启动IBM MQ队列管理器的命令。
例如,要启动名为QMGR1的队列管理器,我们可以使用以下命令:strmqm QMGR13. endmqm命令endmqm命令是停止IBM MQ队列管理器的命令。
例如,要停止名为QMGR1的队列管理器,我们可以使用以下命令:endmqm QMGR14. runmqsc命令runmqsc命令是启动IBM MQ命令行管理工具的命令。
我们可以在命令行模式下使用该命令来执行各种MQ管理任务。
例如,要启动runmqsc,我们可以使用以下命令:runmqsc QMGR15. crtmqobj命令crtmqobj命令是创建IBM MQ队列和通道的命令。
例如,要创建一个名为MYQUEUE的本地队列,我们可以使用以下命令:crtmqobj QMGR1 QLOCAL(MYQUEUE)6. dltmqobj命令dltmqobj命令是删除IBM MQ队列和通道的命令。
例如,要删除名为MYQUEUE的本地队列,我们可以使用以下命令:dltmqobj QMGR1 QLOCAL(MYQUEUE)7. display命令display命令是显示IBM MQ队列管理器、队列和其他对象的信息的命令。
例如,要显示名为QMGR1的队列管理器的配置信息,我们可以使用以下命令:display qmgr QMGR18. Inquire命令Inquire命令是查询IBM MQ队列管理器、队列和其他对象的信息的命令。
MQ常用命令
查看死信队列:dis qlocal(DEADQ)
查看本地队列:dis qlocal(*)
查看本地队列深度: display ql(xxx) curdepth
查看远程队列深度:display qr(xxx) curdepth
查看ccsid: display qmgr all
更改监听: alter listener(xxxx) TRPTYPE(TCP) PORT(1417) CONTROL(QMGR)
停止监听: end LISTENER(xxxx)
查看通道当前序列号: dis chs(xxxx) curseqno
查看通道所有状态: dis chs(xxxxx) all
查看通道: dis chl(xxx)
查看所有通道 dis chl(*) 或 dis chs(*或 dis lsstatu(listentName)
查看本地队列:dis qlocal(xxxxx) 查看其中的 CURDEPTH(0),若其>0,则说明本地队列堵塞
显示所有远程队列: display qremote(*)
显示所有通道: display channel(*)
ping通道:ping CHANNEL(xxxx)
清空队列内容:clear Qlocal(Qname)(需运行 runmqsc)
删除队列:delete qlocal(Qname)
以下为MQ常用命令:
查看发送通道:display channel(xxx)
查看队列管理器: dspmq
停止队列管理器:endmqm QMEMBFE
删除队列管理器:dltmqm QMEMBFE
重置发送通道:reset channel(xxxx)
RocketMQ常用命令
RocketMQ常⽤命令在bin⽬录下的mqadmin命令,可以进⾏创建、修改topic,更新broker的配置信息,查询特定消息等各种操作。
1. 创建Topic指令 :updateTopic⽤法:sh mqadmin updateTopic -n 192.168.1.100:9876参数是否必填说明-b如果-c为空,则必填broker 地址,表⽰topic 建在该broker-c如果-b为空,则必填cluster 名称,表⽰topic 建在该集群(集群可通过clusterList 查询)-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...-p否指定新topic 的权限限制( W|R|WR ) -r 否可读队列数(默认为8)-w否可写队列数(默认为8)-t是opic 名称(名称只能使⽤字符 ^[a-zA-Z0-9_-]+$ )2. 删除Topic指令 :deleteTopic参数是否必填说明-c是cluster 名称,表⽰删除某集群下的某个topic (集群可通过clusterList 查询)-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;…-t是topic 名称(名称只能使⽤字符 ^[a-zA-Z0-9_-]+$ )3. 创建(修订)订阅组指令 :updateSubGroup参数是否必填说明-b如果 –c 为空,则必填broker 地址,表⽰订阅组建在该broker-c如果 –b 为空,则必填cluster名称,表⽰topic 建在该集群(集群可通过clusterList查询)-d否是否容许⼴播⽅式消费-g是订阅组名-i否从哪个broker 开始消费-m否是否容许从队列的最⼩位置开始消费,默认会设置为false-q否消费失败的消息放到⼀个重试队列,每个订阅组配置⼏个重试队列-r 否重试消费最⼤次数,超过则投递到死信队列,不再投递,并报警-s否消费功能是否开启-w 否发现消息堆积后,将Consumer 的消费请求重定向到另外⼀台Slave 机器-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...4. 删除订阅组配置指令: deleteSubGroup参数是否必填说明-b 如果–c 为空,则必填broker 地址,表⽰订阅组建在该broker-c 如果–b 为空,则必填cluster 名称,表⽰topic建在该集群(集群可通过clusterList查询)-g是订阅组名-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...5. 更新Broker 配置⽂件指令 :updateBrokerConfig参数是否必填说明-b 如果–c为空,则必填broker 地址,表⽰订阅组建在该broker-c 如果–b 为空,则必填cluster名称,表⽰topic 建在该集群(集群可通过clusterList查询)-k 是 key 值-v否value 值-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...6. 查看Topic 列表信息指令 :topicList参数是否必填说明-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...7. 查看Topic 路由信息指令 :topicRoute参数是否必填说明-t是topic 名称-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...8. 查看Topic 统计信息指令 :topicStats参数是否必填说明-t是topic 名称-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...9. 查看Broker 统计信息指令 :brokerStats参数是否必填说明-b是 broker 地址-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...10. 根据消息ID 查询消息指令 :queryMsgById参数是否必填说明-i是消息id-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...11. 根据消息Key 查询消息指令 :queryMsgByKey参数是否必填说明-f否被查询消息的截⽌时间-k是msgKey-t是topic 名称-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...12. 根据Offset 查询消息指令 :queryMsgByOffset参数是否必填说明-b 是Broker 名称,表⽰订阅组建在该broker(这⾥需要注意填写的是broker 的名称,不是broker 的地址,broker名称可以在clusterList 查到-i是query 队列id-o是offset 值-t是topic 名称-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...13. 查询Producer 的⽹络连接该命令只打印当前与cluster 连接的producer ⽹络连接信息指令 :producerConnection参数是否必填说明-g是⽣产者所属组名-t是topic 名称-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...14. 查询Consumer 的⽹络连接该命令只打印当前与cluster 连接的consumer ⽹络连接信息指令 :consumerConnection参数是否必填说明-g是消费者所属组名-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...15. 查看订阅组消费状态指令 :consumerProgress参数是否必填说明-g是消费者所属组名-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...16. 查看集群消息指令 :clusterList参数是否必填说明-m否打印更多信息-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...17. 添加(更新)KV 配置信息指令 :updateKvConfig参数是否必填说明-k是key 值-v是value 值-s是Namespace 值-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...18. 删除KV 配置信息指令 :deleteKvConfig参数是否必填说明-k是key 值-s是Namespace 值-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...19. 添加(更新)Project group 配置信息指令 :updateProjectGroup参数是否必填说明-p是project group 名-i否服务器ip-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...20. 删除Project group 配置信息指令 :deleteProjectGroup参数是否必填说明-p是project group 名-i否服务器ip-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...21. 取得Project group 配置信息指令 :getProjectGroup参数是否必填说明-p是project group 名-i否服务器ip-i否服务器ip -h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...22. 设置消费进度根据时间来设置消费进度,设置之前要关闭这个订阅组的所有consumer,设置完再启动,⽅可⽣效指令 :resetOffsetByTime参数是否必填说明-f否通过时间戳强制回滚(true|false),默认为true-s是时间戳-g是消费者所属组名-t是topic 名称-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...23. 清除特定Broker权限指令 :wipeWritePerm参数是否必填说明-b是broker 地址-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...24. 获取Consumer消费进度该命令只打印当前与cluster 连接的consumer 的消费进度指令 :getConsumerStatus参数是否必填说明-g是消费者所属组名-t是查询主题-i否Consumer 客户端ip-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:portt;...。
mq常用命令
mq常用命令一、连接管理命令1. mqsc:进入MQSC模式,用于管理MQ对象。
2. runmqsc:运行MQSC脚本。
3. strmqm:启动MQ队列管理器。
4. endmqm:停止MQ队列管理器。
5. dspmq:显示当前系统中的MQ队列管理器。
6. crtmqm:创建新的MQ队列管理器。
7. dltmqm:删除指定的MQ队列管理器。
二、队列管理命令1. crtlq:创建本地队列。
2. dltmq:删除本地队列。
3. dmpmqmsg:显示队列中的消息。
4. amqmsrvn:启动MQ服务。
5. amqmdnet:启动MQ分布式网络服务。
6. amqmdgin:启动MQ远程订阅服务。
三、消息处理命令1. amqsput:向队列发送消息。
2. amqsget:从队列接收消息。
3. amqssub:订阅消息。
4. amqssubc:取消订阅消息。
5. amqsgrep:根据消息内容过滤消息。
四、通道管理命令1. crtmqchs:创建MQ通道。
2. dltmqchs:删除MQ通道。
3. strmqmchs:启动MQ通道。
4. endmqmchs:停止MQ通道。
5. dspmqchs:显示MQ通道。
6. amqssslc:启用SSL加密通道。
五、安全管理命令1. setmqaut:设置队列对象的授权。
2. dspmqaut:显示队列对象的授权。
3. setmqaut:设置队列管理器的授权。
4. dspmqaut:显示队列管理器的授权。
5. setmqaut:设置通道的授权。
6. dspmqaut:显示通道的授权。
六、日志管理命令1. amqsbcg:启用MQ日志。
2. amqsbcgc:停用MQ日志。
3. amqsbcgd:调整MQ日志大小。
4. dspmqlog:显示MQ日志。
七、监控命令1. dspmqrte:显示MQ路由器状态。
2. dspmqspl:显示MQ任务状态。
3. dspmqsrv:显示MQ服务状态。
IBM MQ常用命令
也有可能是发送接收队列的消息序列号不一致。如果不一致做一下reset操作。
还有可能是上一批消息没有提交。可以做一个resolve操作。
QR1 -> QT1 -> QL2
消息被放入到远程队列中,远程队列通过传输队列传输,最后传输到QM2中的本地队列。
出现问题,我们怎么办?
1 不能放入消息。
一般这种情况应该大部分是远程队列中的传输队列那个参数配置的不正确。
还有可能是队列的允许放入这个参数设置成了禁止。基本上就这两种情况。
更改属性
ALTER QMGR DESCR(‘NEW DESCRIPTION’)
ALTER QLOCAL(QNAME) PUT(DISABLED)
ALTER QALIAS(QNAME) TARGQ(TARGQNAME)
删除队列
DELETE QLOCAL(QNAME)
DELETE QREMOTE(QRNAME)
INITQ(SYSTEM.CHANNEL.INITQ)+
PROCESS(PROCESSNAME) REPLACE
创建进程定义
DEFINE PROCESS(PRONAME) +
DESCR(‘STRING’)+
APPLTYPE(WINDOWSNT)+
APPLICID(’ runmqchl -c SDR_TEST -m QM_ TEST’)
常用命令
创建队列管理器
crtmqm –q QMgrName
-q是指创建缺省的队列管理器
删除队列管理器
MQ 常用命令
1. 队列管理器1.1. 创建队列管理器命令:crtmqm <qmgrName>示例:1.2. 启动队列管理器命令:strmqm <qmgrName>停止队列管理器命令:endmqm -c|-w|-i|-p <qmgrName>参数说明:-c 受控关闭(或停顿关闭)。
这是缺省值。
队列管理器停止,但仅当所有应用程序已断开连接后才停止。
当前正在处理的任何MQI 调用已完成。
立即将控制权返回给您,并且不通知您队列管理器是何时停止的。
对通过服务器连接通道连接的任何客户机应用程序的影响等效于以QUIESCE 方式发出的STOP CHANNEL 命令。
-w 等待关闭。
此类型的关闭等效于受控关闭(除了仅当队列管理器已停止后才将控制权返回给您之外)。
当执行关闭时,您将接收到消息:等待队列管理器qmName 结束。
对通过服务器连接通道连接的任何客户机应用程序的影响等效于以QUIESCE 方式发出的STOP CHANNEL 命令。
-i 立即关闭。
队列管理器在完成所有当前正在处理的MQI 调用后停止。
任何在该命令发出后发出的MQI 请求都将失败。
当队列管理器再次启动时,任何未完成的工作单元将回滚。
队列管理器结束后返回控制权。
对通过服务器连接通道连接的任何客户机应用程序的影响等效于以FORCE 方式发出的STOP CHANNEL 命令。
-p 抢先关闭。
仅在意外情况下使用此类型的关闭。
例如,当队列管理器在常规endmqm 命令下未停止。
队列管理器可以停止而不等待应用程序断开连接或MQI 调用完成。
这可能会产生WebSphere MQ 应用程序的不可预测的结果。
关闭方式设置为立即关闭。
如果队列管理器稍后未停止,关闭方式将升级,且终止所有剩余的的队列管理器进程。
对通过服务器连接通道连接的任何客户机应用程序的影响等效于以TERMINATE 方式发出的STOP CHANNEL 命令。
1.3. 删除队列管理器命令:dltmqm1.4. 显示队列管理器启动状态命令:dspmq2. 管理本地MQ对象使用MQSC 命令执行本地管理任务使用MQSC命令执行定义或修改队列、通道等操作。
MQ测试常用命令
测试1 本地通道测试1、使用mqadmin用户登录2、执行crtmqm -q TEST_QM,建立测试用的消息管理器。
3、执行strmqm TEST_QM,启动测试用的消息管理器。
4、执行runmqsc TEST_QM5、输入define ql(DATA),回车,建立本地队列DATA6、输入end回车至此,本地测试通道搭建完成,下面进行测试。
1、执行amqsput DATA TEST_QM2、随便输入一些内容,一行为一条消息,可输入多条。
3、输入完毕连续按两次回车退出。
4、执行amqsget DATA TEST_QM,看看能否收到刚才输入的消息,如果能收到,证明MQ 本地通道是正常的。
如果收不到,则MQ安装有问题。
测试2 远程通道测试如果测试1通过,继续进行远程通道测试。
1、执行runmqsc TEST_QM2、输入define chl(TO.TEST) chltype(RCVR) trptype(tcp),创建接收方通道。
3、输入end并回车。
4、执行crtmqm TEST_RQM,建立模拟的远程通道。
5、执行strmqm TEST_RQM6、执行runmqsc TEST_RQM7、输入define ql(TEST) usage(xmitq)8、输入define qr(REMOTE.DA TA) rname(DATA) rqmname(TEST_QM) xmitq(TEST)9、输入define chl(TO.TEST) chltype(sdr) conname('127.0.0.1(1111)') xmitq(TEST) trptype(tcp),创建发送方通道。
10、输入end11、执行runmqlsr -t tcp -m TEST_QM -p 1111,启动接收方的监听。
12、新打开一个telnet会话,用mqadmin登录,执行runmqsc TEST_RQM13、输入start chl(TO.TEST)14、输入end至此,模拟的远程测试通道建立完成,以下进行测试。
(转)mq常用命令
(转)mq常⽤命令(暂时放⼀放)创建队列管理器crtmqm qmgrname删除队列管理器dltmqm [-z] qmgrname启动队列管理器strmqm qmgrname停⽌队列管理器endmqm –i QmgrName ⽴即停⽌endmqm –p QmgrName 强制停⽌显⽰队列管理器dspmq 查看全部队列dspmq -m qmgrname ----显⽰具体的队列管理器启动代理:strmqbrk -m GCP_QM启动监听器runmqlsr -m qmgrname -p port -t tcpexp runmqlsr -m GCP_QM -p 1414 -t tcp &停⽌监听endmqlsr -m qmgrname选择队列管理器runmqsc Qmgrname退出队列管理器end显⽰队列属性DISPLAY QLOCAL (Q)查看全部队列dis q(*)AIX查看系统版本:lslpp -ah mqm.server.rtelinux查看系统版本:rpm -qa |grep mqendmqm QmgrName 受控停⽌endmqm –i QmgrName ⽴即停⽌endmqm –p QmgrName 强制停⽌dis qmgr 查看队列管理器属性dis q(GCP_NOTIFY_Q_RECOL) 显⽰全部属性dis qs(GCP_NOTIFY_Q_RECOL) 显⽰主要属性修改队列属性ALTER QMGR CCSID (1381)定义队列属性DEFINE CHANNEL (C) CHLTYPE (SDR) CONNAME ('127.0.0.1 (1414)') XMITQ (XQ) exp define channel(CH1) chltype(SVRCONN) trptype(TCP) mcauser('mqm')创建本地队列define qlocal(QueueName)修改队列属性alter qlocal(Qname) maxdepth(5)重新创建本地队列,属性重置为缺省define qlocal (Qname) replace删除本地队列delete qlocal(Qname)查看错误原因以mq⽤户登录,查看mq的错误原因:直接 mqrc 2085查看端⼝占⽤情况通过ps -ef |grep mgrps -ef| grep mqm| grep 1418mqm 9204 1 0 May 05 ? 0:02runmqlsr -m GCP_QM -t TCP -p 1417扩⼤队列深度#su – mqm#runmqsc P_DNMS_QMalter QLOCAL(Q_RM_DATA) MAXDEPTH(100000) //增⼤配置队列深度alter QLOCAL(Q_PM_DATA) MAXDEPTH(100000) //增⼤性能队列深度队列授权:setmqaut -m P_DNMS_QM -n Q_REDEF_ALARM -t q -g mqm +all WebSphere MQ 的⼯作原理的核⼼就是存储转发查看队列管理器的运⾏状态:dspmq查看jmsbreak的运⾏状态:dspmqbrk往队列中放消息amqsput QName QmgrName清除队列中的所有消息CLEAR QLOCAL(QNAME)ps:在清除队列中的消息时候,需要先将占⽤队列的进程停掉,然后执⾏上述清除命令。
MQ常用命令
常用MQ命令:启动队列管理器strmqm <QMName>立即停止endmqm –i <QMName>必须看到ended,命令正常结束,才能说明MQ队列管理器已经终止dspmq显示结果中QMNAME表示MQ队列管理器的名称,STA TUS表示当前运行状态运行状态有Starting 正在启动Running 正在运行Ending 正在停止Ended normally 已经正常终止Ended immediately 已经立即终止Ended preemtively 已经强制终止Ended unexpectively 异常终止注意:停止系统后必须使用dspmq命令进行状态检查使用MQSC脚本命令管理runmqsc <QMName>常用MQSC脚本命令查看队列管理器信息DISPLAY QMGR查看所有通道状态DISPLAY CHSTATUS(*)检查通道具体状态DISPLAY CHSTATUS(ChannelName) ALL检查通道配置DISPLAY CHANNEL(ChannelName)检查队列配置和深度DIS QLOCAL(QName)该命令的显示结果可以看出队列当前深度启动通道START CHANNEL(ChannelName)停止通道STOP CHANNEL(ChannelName)解决通道中的可疑交易RESOLVE CHANNEL(ChannelName) ACTION ( COMMIT | BACKOUT )复位通道序号RESET CHANNEL(ChannelName)。
rabbitMQ队列使用及常用命令
rabbitMQ队列使⽤及常⽤命令⼀、RabbitMQ常⽤命令启动监控管理器:rabbitmq-plugins enable rabbitmq_management关闭监控管理器:rabbitmq-plugins disable rabbitmq_management启动rabbitmq:rabbitmq-service start关闭rabbitmq:rabbitmq-service stop查看所有的队列:rabbitmqctl list_queues清除所有的队列:rabbitmqctl reset关闭应⽤:rabbitmqctl stop_app启动应⽤:rabbitmqctl start_app⽤户和权限设置(后⾯⽤处)添加⽤户:rabbitmqctl add_user username password分配⾓⾊:rabbitmqctl set_user_tags username administrator新增虚拟主机:rabbitmqctl add_vhost vhost_name将新虚拟主机授权给新⽤户:rabbitmqctl set_permissions -p vhost_name username '.*' '.*' '.*'⾓⾊说明none 最⼩权限⾓⾊management 管理员⾓⾊policymaker 决策者monitoring 监控administrator 超级管理员⼆、RabbitMQ使⽤(1)介绍①什么叫消息队列消息(Message)是指在应⽤间传送的数据。
消息可以⾮常简单,⽐如只包含⽂本字符串,也可以更复杂,可能包含嵌⼊对象。
消息队列(Message Queue)是⼀种应⽤间的通信⽅式,消息发送后可以⽴即返回,由消息系统来确保消息的可靠传递。
消息发布者只管把消息发布到 MQ 中⽽不⽤管谁来取,消息使⽤者只管从 MQ 中取消息⽽不管是谁发布的。
mq 连接问题
MCAUSER('') +
REPLACE +
SSLPEER('') +
DESCR('')
5.创建服务器连接通道 SVRCONN
DEFINE CHANNEL(S_NT) CHLTYPE(SVRCONN) REPLACE
DEFPSIST(NO) +
CLUSTER('') +
MAXMSGL(41943040) +
MAXDEPTH(1000000) +
DESCR('')
2. 建立传输队列 PBC.0000.ONLINE.TRAN
*更改QM的字符集编码(CCSID)
ALTER QMGR FORCE CCSID(1381)
本地队列 q1
DEFINE QLOCAL ('q1') +
LIKE(SYSTEM.DEFAULT.LOCAL.QUEUE) +
REPLACE SHARE USAGE(NORMAL) +
解释:创建 PBC.0000.ONLINE.TRAN 通道为 402100000010.0000.O1 的实时传输队列
DEFINE QLOCAL ('PBC.0000.ONLINE.TRAN') +
LIKE(SYSTEM.DEFAULT.LOCAL.QUEUE) +
REPLACE SHARE USAGE(XMITQ) +
6. 定义接收通道 0000.402100000010.O1
MQ基本指令
CS模式(Local對Server)WMS>Interface>LCD MES CS>CS1. crtmqm CS 創建隊列管理器CS2. strmqm CS 啓動隊列管理器CS3. runmqsc CS 進入隊列管理器CSdefine ql(q) 定義本地隊列命名為qdefine chl(cs) chltype (svrconn) 定義連接通道end 退出隊列管理器4. runmqlsr -m CS -t tcp -p 1414 開啓偵聽5. set MQSERVER=CS/TCP/IP(1414) 設置環境參數1414端口(在windows 環境下)6. amqsputc Q CS 把隊列的數據傳到Q中7. amqsget Q CS 把Q中的數據從隊列中取出8. endmqlsr -m CS 停止偵聽9. endmqm –i CS 停止對列管理器SS模式:(Server對Server)S1:1. crtmqm S1 創建隊列管理器S12. strmqm S1 啓動隊列管理器S13. runmqsc S1 進入隊列管理環境define ql(s1) usage(xmitq) 定義傳輸隊列s1define qremote(s2) rname(s2) rqmname(S2) xmitq(s1) 定義遠程隊列s2 define chl(s1.s2) chltype(sdr) conname('10.0.102.211(1414)') xmitq(s1)trptype(tcp) 定義發送端的通道通過類型連接IP 端口4.start chl(s1.s2) 開啓s1,s2通道.發送端要手動開起dis chl(*) 顯示通道的狀態end 退出隊列管理器5. amqsput S1 S1 把S1队列裏的數據放到S1管理器中去S2:1. crtmqm S2 創建隊列管理器S22. strmqm S2 開啓隊列管理器S23. runmqsc S2 進入管理器環境define ql(s2) 定義本地隊列s2define chl(s1.s2) chltype(rcvr) trptype(tcp) 定義接收端的通道end 退出管理器環境4. runmqlsr -m S2 -t tcp -p 1414 開啓偵聽5. amqsget S2 S2 把S2队列管理器的S2队列里的數據取出==========================================Trigger 模式:1. crtmqm TRIGGER 創建qmgr2. strmqm TRIGGER 開啓qmgr3. runmqsc TRIGGER 進入命令提示符界面define ql(initq) 定義Initqdefine ql(q) trigger trigtype(every) process(amqsget) initq(initq) 定義触发類型define process(amqsget) applicid('C:\WINDOWS\system32\CALC.EXE') appltype(windows) 定義觸發程式的路徑define chl(trigger) chlt ype(svrconn) 定義服务器连线通道end 退出命令提示符界面4. runmqlsr -m TRIGGER -t tcp -p 1414 開啓偵聽5. runmqtrm -m TRIGGER -q INITQ 觸發6. set MQSERVER=TRIGGER/TCP/IP(1414) 設置环境參數7. amqsput Q TRIGGER 在TRIGGER队列管理器里的Q队列里取出数据8. endmqlsr -m TRIGGER 关闭TRIGGER队列管理器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DELETE Q(T_ECIS_Q_SVC2ADP_TELNET) DELETE Q(T_ECIS_Q_ADP2SVC_TELNET) DELETE Q(T_ECIS_Q_SVC2ADP_JDBC) DELETE Q(T_ECIS_Q_ADP2SVC_JDBC)
启动通道 runmqchl –c ChlName –m ECIS_QM
启动侦听 runmqlsr –t TCP –p 1616 –m ECIS_QM
endmqlsr m ECIS_QM
定义队列 DEFINE QL(Q_SVC2ADP_4_TELNET) REPLACE DEFINE QL(Q_SVC2ADP_4_JDBC) REPLACE DEFINE QL(Q_SVC2ADP_4_HTTP) REPLACE DEFINE QL(Q_SVC2ADP_4_SOCKET) REPLACE
WebSphere MQ常用命令及配置 ################################################## //创建本地队列Q DEFINE QLOCAL (Q) //将本地队列Q 的最大深度设置为5 ALTER QLOCAL (Q) MAXDEPTH(5) //重新创建本地队列Q 如果Q已经存在,则将其全部属性重置为缺省属性 DEFINE QLOCAL (Q) REPLACE //创建远程队列 DEFINE QREMOTE(QRNAME) RNAME(AAA) RQMNAME(QMGRNAME) XMITQ(QTNAME) //创建传输队列 define qlocal(CLV_HQ_TRAN) usage(xmitq) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(REV_CLV)
TRIGTYPE(EVERY) TRIGGER REPLACE //创建接收端通道C DEFINE CHANNEL(C) CHLTYPE(RCVR) //创建发送方通道C ,连接对方的IP为10.10.10.10 端口为1414 通道连接的传输队列为XQ DEFINE CHANNEL(C) CHLTYPE(SDR) CONNAME(’10.10.10.10 (1414)’) XMITQ(XQ) //创建请求方通道 DEFINE CHANNEL(D) CHLTYPE(RQSTR) CONNAME(’10.10.10.10 (1414)’) //创建服务器通道 DEFINE CHANNEL (D) CHLTYPE(SVR) xmitq (XQ1) //创建服务器连接通道 DEFINE CHANNEL(E) CHLTYPE(SVRCONN) REPLACE
DEFINE Q(T_ECIS_Q_SVC2ADP_TELNET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_TELNET) CCSID(5488) DEFINE Q(T_ECIS_Q_ADP2SVC_TELNET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_TELNET) CCSID(5488) DEFINE Q(T_ECIS_Q_SVC2ADP_JDBC) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_JDBC) CCSID(5488) DEFINE Q(T_ECIS_Q_ADP2SVC_JDBC) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_JDBC) CCSID(5488)
DELETE Q(T_ECIS_Q_SVC2ADP_HTTP) DELETE Q(T_ECIS_Q_ADP2SVC_HTTP) DELETE Q(T_ECIS_Q_SVC2ADP_SOCKET) DELETE Q(T_ECIS_Q_ADP2SVC_SOCKET)
DEFINE QCF(T_ECIS_QCF) DESC() TRAN(CLIENT) HOST(10.151.128.13) QMGR(T_ECIS_QM) CHAN(T_ECIS.SVRCONN) PORT(2626) CCSID(5488)
2:在传输入队列上定义触发器 DPCIS_Q_TRANSFER:传输队列 触发器数据:DP_RCHANNEL,即:发送通道,触发时启动该通道 alter qlocal(DPCIS_Q_TRANSFER) TRIGDATA('DP_RCHANNEL') TRIGTYPE(every) TRIGGER initq('SYSTEM.CHANNEL.INITQ')
//显示所有远程队列 display qremote (*) //显示所有通道 Display channel (*)
//定义死信队列 DEFINE QLOCAL(QUEUE) DEFPSIST(YES) REPLACE
//设定队列管理器的死信队列 ALTER QMGR DEADQ(QUEUE)
设置MaxChannels和MaxActiveChannels属性(最大连接数) ################################################## MaxChannels和MaxActiveChannels分别代表队列管理器允许配置的通道的最大个数和允许同时运行的通 道的个数,MaxChannels的缺省值是100,MaxActiveChannels的缺省值与MaxChannels相同。如果您的并 发通道连接个数超过了100,您需要修改这两个参数。这对于大并发的Client/Server间通讯尤为重要。 在unix平台,修改qm.ini文件,添加如下所示(路径:/var/mqm/qmgrs/HQ_SVR): Channels: MaxChannels = 3000 (最大通道数) MaxActiveChannels = 3000 (最大活动通道数) PipeLineLength=2 AdoptNewMCA=ALL 然后重启MQ
清除队列消息 clear ql(Q_SVC2ADP_4_HTTP)
查看CCSID display qmgr all
修改CCSID ALTER QMGR [FORCE] CCSID(5488)
逻辑定义 ################################################## ./JMSAdmin
删除队列 delete QL(Q_SVC2ADP_4_TELNET)
查看监听器 display listener (LSR_4_ECIS_QM)
查看通道 dis chs(*)
查看通道 display ql(*) [all]
查看队列深度 display ql(Q_SVC2ADP_4_HTTP) curdepth
下面定义一个输入队列并带触发器 DEFINE QLOCAL(Q_TRANSFER) USAGE(XMITQ) DEFPSIST(YES) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(DP_RCHANNEL) REPLACE 注: 参数1:传输队列名称(Q_TRANSFER) 参数5:触发器数据(DP_RCHANNEL),也就是触发后要启动的通道。
//定义持久性队列: DEFINE QLOCAL(QNAME) DEFPSIST (YES) REPLACE
传输队列管理 ################################################## 1:定义传输队列 DEFINE QLOCAL(Q_TRANSFER) USAGE(XMITQ) 注: Q_TRANSFER:传输队列名
运行队列管理器 runmqsc ECIS_QM
定义监听器 DEFINE LISTENER(LSR_4_ECIS_QM) TRPTYPE(TCP) PORT(1616) CONTROL(QMGR) REPLACE START LISTENER(LSR_4_ECIS_QM)
定义通道 DEFINE CHANNEL(ECIS.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm') REPLACE
查看队列状态 dspmq
创建队列管理器 crtmqm q ECIS_QM
删除队列管理器 dltmqm ECIS_QM
启动队列管理器 strmqm ECIS_QM
关闭队列管理器 endmqm i ECIS_QM 立即停止 endmqm p ECIS_QM 强INE CHANNEL(SDRNAME) CHLTYPE(SDR) CONNAME (‘100.100.100.215(1418)’) XMITQ(QTNAME) REPLACE 其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和 CLUSRCVR。
通道管理 ################################################## 1:创建接收方通道 DEFINE CHANNEL(SDR_ TEST) CHLTYPE(RCVR) REPLACE define channel(Q_R_CHANNEL2) chltype(RCVR) replace 注: 参数1:接收方通道名称 replace:表示有该通道了替换
define channel(DP_RCHANNEL) chltype(SDR) conname('10.101.2.3 (1414)') xmitq(Q_TRANSFER) replace 注: 通道名称:DP_RCHANNEL (发送方通道的名称) 传输队列:Q_TRANSFER (发送方传输队列的名称)
3:启动通道 start channel(QM_ORANGE.QM_APPLE)