MQ常用命令
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通道的维护及常用命令
M Q通道的维护及常用命令Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-199986.3.1通道的状态下图显示了所有可能的通道状态层次结构,在 MQ for AIX, iSeries, HP-UX, , Solaris, 和 systems, 和 WebSphere MQ for OS/2 Warp平台,这些状态对连接通道也适用。
?图,通道状态如果通道的状态分为inactive和current两大类;“current”可以是Stopped,Starting,Retrying和Active的情况。
通道Acitve的情况又可分为Initializing,Binding,Requesting,Running,Paused或Stopping的状态。
下图显示通道状态之间的变化关系。
?注意:1. 当通道处于INITIALIZING, BINDING, REQUESTING, RUNNING, PAUSED, or 或STOPPING状态时,这将消耗系统,并且通道的进程或线程正在运行;因为通道是Active状态。
2. 当通道是STOPPED状态时, 会话可能是active,因为下一个状态时未知的。
下面将详细地介绍通道有关的维护命令。
创建通道为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。
这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。
可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。
注意:建议在WebSphere MQ的网络中所有的通道名唯一,并且通道名中最好包含了源队列器名和目标队列管理器名。
创建通道的例子PE(SDR) +DESCR(’Sender channel to QM2’) +CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES)I修改通道可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。
MQ通道的维护及常用命令精选文档
M Q通道的维护及常用命令精选文档TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-6.3.1通道的状态下图显示了所有可能的通道状态层次结构,在 MQ for AIX, iSeries, HP-UX, , Solaris, 和 systems, 和 WebSphere MQ for OS/2 Warp平台,这些状态对连接通道也适用。
图,通道状态如果通道的状态分为inactive和current两大类;“current”可以是Stopped,Starting,Retrying和Active的情况。
通道Acitve的情况又可分为Initializing,Binding,Requesting,Running,Paused或Stopping的状态。
下图显示通道状态之间的变化关系。
注意:1. 当通道处于INITIALIZING, BINDING, REQUESTING, RUNNING, PAUSED, or或STOPPING状态时,这将消耗系统,并且通道的进程或线程正在运行;因为通道是Active状态。
2. 当通道是STOPPED状态时, 会话可能是active,因为下一个状态时未知的。
通道维护命令下面将详细地介绍通道有关的维护命令。
创建通道为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。
这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。
可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。
注意:建议在WebSphere MQ的网络中所有的通道名唯一,并且通道名中最好包含了源队列器名和目标队列管理器名。
创建通道的例子DEFINE CHANNEL CHLTYPE(SDR) +DESCR(’Sender channel to QM2’) +CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES)I修改通道可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。
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队列管理器、队列和其他对象的信息的命令。
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命令
读取一个 MQSC 命令。
所有命令均无语法错误。
已处理所有的有效 MQSC 命令。
退出值 = 0
****************************************
* 命令: runmqsc CRONUS
* 输入: STБайду номын сангаасRT LISTENER('LISTENER.TCP')
完成队列管理器“CRONUS”的日志重放。
为队列管理器“CRONUS”恢复了事务管理器状态。
WebSphere MQ 队列管理器‘CRONUS’已启动。
退出值 = 0
****************************************
* 命令: runmqsc CRONUS
* 输入: DEFINE LISTENER('LISTENER.TCP') TRPTYPE(TCP) PORT(1414) CONTROL(QMGR)
AMQ8021: 已接受启动 WebSphere MQ 侦听器的请求。
读取一个 MQSC 命令。
所有命令均无语法错误。
已处理所有的有效 MQSC 命令。
退出值 = 0
****************************************
5724-H72 (C) Copyright IBM Corp. 1994, 2009. ALL RIGHTS RESERVED.
启动队列管理器 CRONUS 的 MQSC。
1 : DEFINE LISTENER('LISTENER.TCP') TRPTYPE(TCP) PORT(1414) CONTROL(QMGR)
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实验2_常用管理命令
MQ实验2试验目的1.熟悉MQ的管理2.熟悉MQ对象的创建方法3.熟悉MQ常用命令试验环境WinXP, SP2WebSphere MQ 6.0.2.0实验步骤尽管MQ在Windows中具有图形界面, 为了方便扩展到UNIX环境, 本练习中采用命令方式创建对象通过本试验,你可以1.创建和启动队列管理器2.用控制命令创建本地队列和显示MQ对象的属性3.修改队列属性和创建别名队列4.使用MQ产品中提供的样例程序放入消息,浏览消息和取出消息步骤一: 创建和启动队列管理器1.打开一个cmd环境, 进入到MQ安装目录下的bin目录,即C:\IBM\WMQ\bin2.创建一个缺省队列管理器,名为QM1,在后面的试验中,我们都将使用这个队列管理器,QM1是本机的队列管理器⇨crtmqm –q QM1队列管理器名称是大小写敏感的, -q参数表明是缺省队列管理器3.启动队列管理器⇨strmqm因为是启动缺省队列管理器,所以不需要提供队列管理器名称步骤二:使用交互式命令进行操作4.用runmqsc命令执行以下任务,输入MQ的交互式命令,在终端显示结果⇨runmqsci.显示队列管理器属性=> DISPLAY QMGRQMGR是保留字,不要用队列管理器名称代替ii.显示当前队列管理器中以”SYSTEM”开头的所有队列名称=> DISPLAY Q(SYSTEM*)iii.创建一个本地队列,定义中包含文本描述=> DEFINE QL(QL.A) DESCR(‘QL.A Text’)iv.显示该队列的所有属性=> DISPLAY QL(QL.A)v.修改该队列允许的最大消息数为1000=> ALTER QL(QL.A) MAXDEPTH(1000)vi.再次查看该队列属性,看修改是否成功,而队列描述不变=> DISPLAY QL(QL.A)vii.定义第二个本地队列,包含文本描述=> DEFINE QL(QL.B) DESCR(‘QL.B Text’)viii.显示队列QL.B的所有属性=> DISPLAY QL(QL.B)ix.使用带REPLACE的DEFEINE命令而不是用ALTER命令修改队列QL.B 的最大消息数为2000=> DEFINE QL(QL.B) REPLACE +MAXDEPTH(2000)x.查看队列QL.B的所有属性,是否该队列创建成功,描述是什么=> DISPLAY QL(QL.B)5.退出runmqsc模式⇨END步骤三:用包含命令的文件来执行MQ命令6.编辑一个文本文件E1_ST01.txt,包含步骤二中执行的所有命令如下DIS QMGRDIS Q(SYSTEM*)DEF QL(QL.A) DESCR('QL.A Text')DIS QL(QL.A)ALTER QL(QL.A) MAXDEPTH(1000)DIS QL(QL.A)DEF QL(QL.B) DESCR('QL.B Text')DIS QL(QL.B)DEF QL(QL.B) REPLACE +MAXDEPTH(2000)DIS QL(QL.B)7.执行以下命令,并把结果重定向到report文件当中,查看report文件⇨runmqsc < E1_ST01.txt > report步骤四:使用样例程序8.放一个消息到本地队列QL.A⇨amqsput QL.A队列管理器是可选参数,因为QL.A在缺省队列管理器中,所以不需要. amqsput,amqsbcg和amqsget样例位于C:\IBM\WMQ\Tools\c\Samples\Bin9.浏览队列QL.A中的消息,重定向输出到一个文件out以查看结果⇨amqsbcg QL.A >out⇨notepad out队列管理器是可选参数,因为QL.A在缺省队列管理器中,所以不需要10.从队列中取出消息,清空队列⇨amqsget QL.A队列管理器是可选参数,因为QL.A在缺省队列管理器中,所以不需要步骤五:使用别名队列11.创建本地队列QL.A的别名队列QA.A⇨runmqsc⇨DEF QA(QA.A) TARGQ(QL.A)12.限制别名队列的put请求功能=> ALTER QA(QA.A) PUT(DISABLED)13.修改QL.B的属性,限制它的put功能=> ALTER QL(QL.B) PUT(DISABLED)14.创建本地队列QL.B的别名队列QA.B=> DEF QA(QA.B) TARGQ(QL.B)15.尝试用样例程序放消息到本地队列和别名队列中⇨amqsput QL.A⇨amqsput QA.A⇨amqsput QL.B⇨amqsput QA.B可选试验步骤一: 队列操作1.在队列QL.A和QL.B中放入一些消息2.查看这两个队列中的队列深度=> DISPLAY Q(Q*) CURDEPTH3.定义一个新的本地队列QL.X,它具有跟QA.A一样的属性=> DEFINE QLOCAL(QL.X) LIKE(QA.A)4.报错了吗?,那么用QL.A的属性=> DEFINE QLOCAL(QL.X) LIKE(QL.A)5.往队列QL.X中放消息=> amqsput QL.X6.修改QL.A的描述=> ALTER QL(QL.A) DESCR(‘QL.A Text new’)7.显示你创建的所有队列的描述=> DISPLAY Q(Q*) DESCR8.清除队列QL.A=> CLEAR QL(QL.A)9.清除队列QA.A, error???=> CLEAR QA(QA.A)10.删除队列QL.X=> DELETE QL(QL.X)11.如果删除失败,再次删除=> DELETE QL(QL.X) PURGE。
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)。
查看死信队列: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)
启动通道:start chl(xxxx)