mq命令

mq命令
mq命令

MQ服务器端(windows)和客户端(aix)通信过程

(1)创建名为venus.queue.manager的默认队列管理器。

在DOS窗口命令提示符下,输入以下命令:

crtmqm -q venus.queue.manager

(2)启动刚才创建的队列管理器。

在DOS窗口命令提示符下,输入以下命令:

strmqm venus.queue.manager

(3)启动MQSC命令。

在DOS窗口命令提示符下,输入以下命令:

runmqsc venus.queue.manager

(4)新建名为orange.queue的本地队列。

输入以下命令:

define qlocal (orange.queue)

注意:MQSC中任何小写字母将自动转换成大写,除非用单引号将它们括起来。这意味着如果使用名称Orange.Queue创建了队列,则记住在MQSC以外其他命令中都必须使用

Orange.Queue。

(5)停止MQSC。

输入以下命令:

end

现在,我们已经定义了以下对象:

(1)名为venus.queue.manager的默认队列管理器。

(2)名为ORANGE.QUEUE的队列。

测试对象:要测试队列管理器和队列,请使用样本程序amqsput(将消息放入队列)和amqsget (从队列获取消息),步骤如下:

(1)启动DOS窗口,进入到C:\Program Files\IBM\WebSphere MQ\bin目录下。

(2)将消息放入队列。

输入以下命令:

amqsput ORANGE.QUEUE

显示以下消息:

Sample amqsput0 start

Target queue is ORANGE.QUEUE

(3)输入一些字符数据,然后双击"Enter"键,则显示以下消息:

Sample amqsput0 end

现在消息已经被放在队列中了。

(4)要从队列中获取消息,输入以下命令:

amqsget ORANGE.QUEUE

在屏幕上将显示您刚才输入的字符数据消息。暂停后,例子程序结束。

如果以上步骤都能完成,则完成了本地安装的验证。

注意:如果在任何阶段中断整个安装过程,则应该从头开始重新运行安装。

2 WebSphere MQ客户端的安装和配置

如果我们开发的基于MQ的应用与MQ服务器不在同一台机器上,那么就必须在MQ应用端安装MQ 客户端。下面我们以在Suse Linux 10下安装WebSphere MQ v6.0 Client为例介绍MQ客户端在Linux下的安装和配置步骤。

(1)解压缩MQ客户端安装包:C84CJML.WebSphere MQ V6.0 Linux x86 Client.tar.gz,命令如下:

tar -xvfz C84CJML.WebSphere MQ V6.0 Linux x86 Client.tar.gz

(2)创建WebSphere MQ 必需的文件系统,命令如下:

mkdir /opt/mqm # for product code mkdir /var/mqm # for working data

创建完后效果如下:

图3 创建WebSphere MQ 必需的文件系统

(3)创造MQ用户和用户组,命令如下:

groupadd mqm

useradd -d /var/mqm -g mqm -G mqm mqm passwd mqm # change password to "password"

如下图:

图4 创造MQ用户和用户组

(4)为mqm用户组添加root组

cd /etc

vi group

修改mqm:!:1000:mqm ? mqm:!:1000:mqm,root 如下图:

图5 为mqm用户组添加root组

(5)调整系统参数(视需要而定)

修改最大共享内存,命令如下:

cat /proc/sys/kernel/shmmax

echo 268435456 >/proc/sys/kernel/shmmax

修改最大文件句柄,命令如下:

cat /proc/sys/fs/file-max

echo 32768 >/proc/sys/fs/file-max

如下图所示:

图6 调整系统参数

(6)转到WebSphere MQ解压后的目录中,获得WebSphere MQ授权,命令如下: ./mqlicense.sh -text_only

阅读全文后,选择1接受授权。

如图所示:

图7 获得WebSphere MQ授权

图8 获得WebSphere MQ授权

(7)安装WebSphere MQ客户端,命令如下:

rpm -ivh MQSeriesRuntime-6.0.0-0.i386.rpm

rpm -ivh MQSeriesSDK-6.0.0-0.i386.rpm

rpm -ivh MQSeriesJava-6.0.0-0.i386.rpm

rpm -ivh MQSeriesClient-6.0.0-0.i386.rpm

rpm -ivh MQSeriesSamples-6.0.0-0.i386.rpm

(8)安装校验

rpm -qa | grep MQSeries

结果如下则表明MQ 客户端的安装已成功。

MQSeriesRuntime-6.0.0-0

MQSeriesSDK-6.0.0-0

MQSeriesJava-6.0.0-0

MQSeriesClient-6.0.0-0

MQSeriesSamples-6.0.0-0

3 WebSphere MQ的服务端和客户端的互联

本节的WebSphere MQ的服务端和客户端不在同一台机器上。

本节以上述1,2两个步骤安装好的MQ服务端和MQ客户端为例,介绍如何配置MQ的服务端和客户端使两者能够互联。

(1)服务端配置

1)点"开始"->"所有程序"->"IBM WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ 资源管理器界面。如下图所示:

图9 服务端配置

2)创建名为"QM_JACK"的队列管理器

<1>选中"队列管理器"->"新建"->"队列管理器",如下图所示:

图10 创建名为"QM_JACK"的队列管理器

<2>在队列管理中输入"QM_JACK",其他选项默认不变,点"下一步":

图11 在队列管理中输入"QM_JACK"

<3>设置队列日志(本步骤采用系统默认设置),点"下一步":

图12 设置队列日志

<4>启动队列管理器,创建服务器连接通道,允许在TCP/IP上进行队列管理器的远程管理,点击"下一步":

图13 创建服务器连接通道

<5>设置队列管理器QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),

点击"完成"。

图14 设置队列管理器QM_JACK的侦听端口

<6>系统进入等待界面:

图15 系统等待界面

<7>队列管理器QM_JACK创建成功

图16 系统队列管理器QM_JACK创建成功

3)在QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo 项目作准备):

图17 定义本地队列

图18 定义本地队列

设置队列名后其他属性全为系统默认值,点击"确定"。

4)在QM_JACK下创建名为"CNN_JACK"的服务器通道。

图19 创建服务器连接通道

图20 创建服务器连接通道

通道名称设为CNN_JACK,其他选项保留为系统默认设置,点击"确定"。

5)在MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下:

<1>点击"开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:

图21 创建系统用户

<2>创建新用户:root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)

图22 创建系统用户

随意设置一个有效密码,选中密码永不过期,点击"创建"。

<3>将新用户加入mqm组(注意:这里的mqm组是我们安装完MQ Server后系统自动创建的)。具体操作如下:

图23 设置系统用户所在组

点击"属性":

图24 设置系统用户所在组

点击"添加":

图25 设置系统用户所在组

输入对象名称:mqm,点击"确定":

图26 设置系统用户所在组

root用户被添入mqm组中:

图27 设置系统用户所在组

点击"应用",点击"确定"。

启动监听器

Runmqlsr –m QM_JACK"

设置

export MQCHLTAB= /PTAH/AMQCLCHL.TAB

重启机器。至此,MQ服务端的配置完成。

(2)客户端配置

按照我们前面的步骤,MQ客户端是安装在Suse Linux 10 上,所以本节以Suse Linux 10下的MQ Client v6为例说明如何配置MQ客户端才能连上MQ服务器。

1)设置MQSERVER环境变量,命令如下:

export MQSERVER='CNN_JACK/tcp/9.186.110.133(8927)'

参数说明:

服务器连接通道名称:CNN_JACK

服务器连接通道协议类型:tcp

服务器IP地址:9.186.110.133

服务器连接通道所在的队列管理器QM_JACK的侦听端口:8927

2)测试客户端与服务端的网络连接

在客户端使用ping命令检查客户端是否能连上服务端机器。

同样,在服务端使用ping命令检查服务端是否能连上客户端机器。

测试完成后,进入下一步。

3)进入/opt/mqm/samp/bin,使用样本程序amqsputc(用来将消息发送到服务端队列)和amqsgetc(用来从服务端队列中读取消息)来测试客户端与服务端的MQ连接是否畅通,具体步骤如下:

<1>输入命令:

./amqsputc QUEUE_RECV QM_JACK

则会显示以下消息:

Sample AMQSPUT0 start

target queue is QUEUE_RECV

<2>输入一些字符,然后双击"Enter"键,则显示如下信息:

Sample AMQSPUT0 end

<3>要从队列获取消息,则输入如下命令:

./amqsgetc QUEUE_RECV QM_JACK

则会在屏幕上打印出刚才输入的字符数据消息。暂停后,;例子程序结束。

如果以上步骤都能够完成,则完成了MQ服务端和客户端的互联配置。

注意:有时候,MQ客户端联服务端时会因为两端字符集编码CCSID不一样造成连接的失败,典型错误是:MQCONN ended with reason code 2059。在队列管理器的错误日志(位于

/var/mqm/errors/AMQERROR**.log)中有如下信息:

-------------------------------------------------------------------------------

08/23/2002 11:51:48

AMQ9541: CCSID supplied for data conversion not supported.

EXPLANATION:

The program ended because,

either the source CCSID '437' or the target CCSID '1381' is not valid,

or is not currently supported.

ACTION:

Correct the CCSID that is not valid, or ensure that the requested CCSID can be supported.

解决方法如下:在服务端用runmqsc qmname命令,输入dis qmgr查看CCSID属性值nnnn,在客户端上配置环境变量:Windows 下:set MQCCSID=nnnn(在服务端看到的CCSID), Linux下:export MQCCSID=nnnn(在服务端看到的CCSID),重新启动MQ 客户端机器即可。

中信项目实例

//启动队列管理器

Strmqm ACS_QM_DVP

//进入队列管理器

runmqsc ACS_QM_DVP

//查看队列通道信息

1.查看全部队列通道名

DIS CHL (*)

2.查看具体某个通道信息

DIS CHL(ACS_CHL_73810_R) //接收通道CHLTYPE(RCVR)

DIS CHL (ACS_CHL_73810_S) //接收通道CHLTYPE(SDR)

//查看全部队列信息

DIS QUEUE(*)

//查看某个队列信息

DIS QUEUE(R_LQ_73810) //接收——本地——队列Recv_LocalQueue_73810

//查看传输队列

DIS QUEUE(TRANSQ_73810) //传输队列

//查看发送远端队列

DIS QUEUE(S_RQ_73810)//发送——远端队列Send_RemotQueue_73810

//查看死信队列

DIS QUEUE(DeadQ_73810)//死信队列dead queue

MQ基础知识及操作指南

MQ通讯机制 一.MQ基本操作 MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。其基本的操作方法如下: 创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器 dltmqm QmgrName 启动队列管理器 strmqm QmgrName 如果是启动默认的队列管理器,可以不带其名字

停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 显示队列管理器 dspmq –m QmgrName 运行MQSeries命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 启动通道 runmqchl –c ChlName –m QmgrName 启动侦听 runmqlsr –t TYPE –p PORT –m QMgrName 停止侦听 endmqlsr -m QmgrName MQSeries命令 定义死信队列 DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE 设定队列管理器的死信队列 ALTER QMGR DEADQ(QNAME) 定义本地队列 DEFINE QL(QNAME) REPLACE 定义别名队列

MQ通道的维护及常用命令

WebShpere MQ入门教程(20):MQ通道的维护 AIXWebsphereHPLinuxOS 6.3.1通道的状态 下图显示了所有可能的通道状态层次结构,在WebSphere MQ for AIX, iSeries, HP-UX, Linux, Solaris, 和Windows systems, 和 WebSphere MQ V5.1 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,因为下一个状态时未知的。 6.3.2通道维护命令 下面将详细地介绍通道有关的维护命令。 创建通道 为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。

WebSphere MQ 命令

附录WebSphere MQ 命令一览表 队列管理器(Queue Manager) crtmqm 创建队列管理器(Create Queue Manager) [-c Text] 描述,最多64 个字符 [-d DefaultTransmissionQueue] 缺省传输队列 [-h MaximumHandleLimit] 一个应用程序可以MQOPEN 的最大句柄数min=1,max=999,999,999,default=256 [-lc | -ll] Log 类型 -lc Circular Logging,环型日志 -ll Linear Logging,线型日志 [-ld LogPath] Log 文件的目录,mqm 用户必须有访问权限,缺省为:Windows X:\Program Files\IBM\WebSphere MQ\log\qmgr UNIX /var/mqm/log [-lf LogFileSize] Log 文件大小,4KB 的倍数. Windows min=32,max=16,384,default=256 (1 MB) UNIX min=64,max=16,384,default=1024 (4 MB) [-lp LogPrimaryFiles] 主Log 文件数量,min=2,max=62,default=3 [-ls LogSecondaryFiles] 备用Log 文件数量,min=1,max=61,default=2 注意:LogPrimaryFiles + LogSecondaryFiles <= 63 [-q] 缺省队列管理器 [-g ApplicationGroup] 应用组。Application Group 中的用户可以运行MQI 应用,更新IPCC 资源,改变Queue Manager 目录中的内容。 仅对WMQ for AIX,Solaris,HPUX,Linux 有效。会反 映到qm.ini 中。mqm 必须是Application Group 中的 用户。缺省-g all [-t IntervalValue] min=0,max=999,999,999,default=999,999,999,单位: 毫秒。触发间隔(Trigger Time Interval) [-u DeadLetterQueue] 死信队列(Dead Letter Queue)) [-x MaximumUncommittedMessages] 最大的未提交的消息数量 min=1,max=999,999,999,default=10,000 在一个交易中的消息最大数量,为MQPUT + MQGET + LUW 中 产生的Trigger Message 数量之和 [-z] 抑止出错信息 QMgrName 队列管理器名 例: crtmqm -t 5000 -u SYSTEM.DEAD.LETTER.QUEUE -ll QM dltmqm 删除队列管理器(Delete Queue Manager) [-z] 抑止出错信息 QMgrName 队列管理器名 例: dltmqm -z QM strmqm 启动队列管理器(Start Queue Manager) [-c] 启动队列管理器,覆盖重建所有的系统对象,再停止该队列管理器

MQ通道的维护及常用命令

M Q通道的维护及常用命 令 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

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的网络中所有的通道名唯一,并且通道名中最好包含了源队列器名和目标队列管理器名。 创建通道的例子 PE(SDR) + DESCR(’Sender channel to QM2’) + CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES) I 修改通道 可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。 删除通道 可以使用 MQSC命令“DELETE CHANNEL”来删除现有通道定义。 查看通道定义 可以使用 MQSC命令“DISPLAY CHANNEL”来查看现有通道定义。可以说明通道名,通道类型(可选),和其它属性,或查看所有的属性。

IBM mq 常用命令

IBM MQ常用命令 常用命令 创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器 dltmqm QmgrName 启动队列管理器 strmqm QmgrName 如果是启动默认的队列管理器,可以不带其名字 停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 显示队列管理器 dspmq –m QmgrName 运行MQSeries命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字启动通道 runmqchl –c ChlName –m QmgrName 启动侦听 runmqlsr –t TYPE –p PORT –m QmgrName 停止侦听 endmqlsr -m QmgrName MQSeries命令 定义死信队列 DEFINE QLOCAL(QNAME)DEFPSIST(YES)REPLACE 设定队列管理器的死信队列 ALTER QMGR DEADQ(QNAME) 定义本地队列 DEFINE QL(QNAME)REPLACE 定义别名队列 DEFINE QALIAS(QALIASNAME) TARGQ(QNAME)

远程队列定义 DEFINE QREMOTE(QRNAME)+ RNAME(AAA)RQMNAME(QMGRNAME)+ XMITQ(QTNAME) 定义模型队列 DEFINE QMODEL(QNAME)DEFTYPE(TEMPDYN) 定义本地传输队列 DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) + INITQ(SYSTEM.CHANNEL.INITQ)+ PROCESS(PROCESSNAME) REPLACE 创建进程定义 DEFINE PROCESS(PRONAME)+ DESCR(‘STRING’)+ APPLTYPE(WINDOWSNT)+ APPLICID(’runmqchl -c SDR_TEST -m QM_ TEST’) 其中APPLTYPE的值可以是:CICS、UNIX、WINDOWS、WINDOWSNT等 创建发送方通道 DEFINE CHANNEL(SDRNAME)CHLTYPE(SDR)+ CONNAME(‘100.100.100.215(1418)’)XMITQ(QTNAME)REPLACE 其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。 创建接收方通道 DEFINE CHANNEL(SDR_ TEST)CHLTYPE(RCVR)REPLACE 创建服务器连接通道 DEFINE CHANNEL(SVRCONNNAME)CHLTYPE(SVRCONN)REPLACE 显示队列的所有属性 DISPLAY QUEUE(QNAME)[ALL] 显示队列的所选属性 DISPLAY QUEUE(QNAME)DESCR GET PUT DISPLAY QUEUE(QNAME)MAXDEPTH CURDEPTH 显示队列管理器的所有属性 DISPLAY QMGR [ALL] 显示进程定义 DISPLAY PROCESS(PRONAME) 更改属性 ALTER QMGR DESCR(‘NEW DESCRIPTION’)

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”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。

MQ常用命令

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 启动队列管理器runmqsc 队列管理器——name 2.重置通道序号reset chl(通道name) seqnum(1) 3.一段时间没有消息,通道会变为不活动状态,有消息时通道会变为running状态 4.查看队列里面是否有消息dis ql('队列名称') curdepth 5.日志目录:MQ安装目录/qmgrs/队列管理器名/errors/AMQERR01.LOG 6.修改ccsid alter qmgr ccsid(“XXX”) 一、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. 启动命令行QMEMBFE是QM名字 runmqsc QMEMBFE (进入MQ的命令行) 显示队列DISPLAY QUEUE(*) 显示通道DISPLAY CHANNEL(*) 显示侦听器DISPLAY LISTENER(*) SDR发送方通道,RCVR接收方通道 2. 创建MQM crtmqm -lf 16384 -lp 10 -ls 10 QMEMBFE 3. 启动MQM strmqm QMEMBFE 3.1删除MQM Dltmqm QMEMBFE Start chl(通道名) 启动通道 4. 运行脚本 runmqsc QMEMBFE < mbfemq.sc 5. 确定测试商业银行所对应接入点的通道状态是否为running #runmqsc QMEMBFE dis 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) CURRENT RQMNAME(QME2900) STATUS(RUNNING) SUBSTATE(RECEIVE) XMITQ( ) 172.26.190.4 1418 1. 创建队列管理器 crtmqm -q QMA (-q表示QMA为默认队列管理器)

MQ常用命令

物理定义 ################################################## --查看MQ版本-- dspmqver --查看队列状态-- dspmq --创建队列管理器-- crtmqm -q ECIS_QM --删除队列管理器-- dltmqm ECIS_QM --启动队列管理器-- strmqm ECIS_QM --关闭队列管理器-- endmqm -i ECIS_QM 立即停止 endmqm -p ECIS_QM 强制停止 --运行队列管理器-- 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 --启动通道-- 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 --删除队列--

ibm mq常用命令

创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器dltmqm QmgrName 启动队列管理器strmqm QmgrName 如果是启动默认的队列管理器,可以不带其名字 停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 显示队列管理器 dspmq –m QmgrName 运行MQSeries命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字启动通道 runmqchl –c ChlName –m QmgrName 启动侦听runmqlsr –t TYPE –p PORT –m QmgrName 停止侦听endmqlsr -m QmgrName MQSeries命令 定义死信队列 DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE 设定队列管理器的死信队列 ALTER QMGR DEADQ(QNAME) 定义本地队列 DEFINE QL(QNAME) REPLACE 定义别名队列 DEFINE QALIAS(QALIASNAME) TARGQ(QNAME) 远程队列定义 DEFINE QREMOTE(QRNAME) + RNAME(AAA) RQMNAME(QMGRNAME) + XMITQ(QTNAME) 定义模型队列 DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN) 定义本地传输队列 DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) + INITQ(SYSTEM.CHANNEL.INITQ)+ PROCESS(PROCESSNAME) REPLACE 创建进程定义

IBM MQ常用命令

1. 队列管理器 1.1. 创建队列管理器 命令:crtmqm 示例: 1.2. 启动队列管理器 命令:strmqm 停止队列管理器 命令:endmqm -c|-w|-i|-p 参数说明: -c 受控关闭(或停顿关闭)。这是缺省值。 队列管理器停止,但仅当所有应用程序已断开连接后才停止。当前正在处理的任何MQI 调用已完成。 立即将控制权返回给您,并且不通知您队列管理器是何时停止的。 对通过服务器连接通道连接的任何客户机应用程序的影响等效于以QUIESCE 方式发出的STOP CHANNEL 命令。 -w 等待关闭。 此类型的关闭等效于受控关闭(除了仅当队列管理器已停止后才将控制权返回给您之外)。当执行关闭时,您将接收到消息:等待队列管理器qmName 结束。 对通过服务器连接通道连接的任何客户机应用程序的影响等效于以QUIESCE 方式发出的STOP CHANNEL 命令。 -i 立即关闭。队列管理器在完成所有当前正在处理的MQI 调用后停止。任何在该命令发出后发出的MQI 请求都将失败。当队列管理器再次启动时,任何未完成的工作单元将回滚。 队列管理器结束后返回控制权。 对通过服务器连接通道连接的任何客户机应用程序的影响等效于以FORCE 方式发出的STOP CHANNEL 命令。 -p 抢先关闭。 仅在意外情况下使用此类型的关闭。例如,当队列管理器在常规 endmqm 命令下未停止。 队列管理器可以停止而不等待应用程序断开连接或MQI 调用完成。这可能会产生WebSphere MQ 应用程序的不可预测的结果。关闭方式设置为立即关闭。如果队列管理器稍后未停止,关闭方式将升级,且终止所有剩余的的队列管理器进程。 对通过服务器连接通道连接的任何客户机应用程序的影响等效于以TERMINATE 方式发出的 STOP CHANNEL 命令。

常用MQ命令

常用的MQ命令 最近在配置MQ,记下了一些常用的MQ命令,如下: 创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器 dltmqm QmgrName 启动队列管理器 strmqm QmgrName 如果是启动默认的队列管理器,可以不带其名字 停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 显示队列管理器 dspmq –m QmgrName 运行MQ命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 启动通道 runmqchl –c ChlName –m QmgrName 启动侦听 runmqlsr –t TYPE –p PORT –m QMgrName 停止侦听

endmqlsr -m QmgrName 下面是在MQ环境中可以执行的MQ命令(即在runmqsc环境下可以敲的命令) 定义持久信队列 DEFINE QLOCAL(QNAME)DEFPSIST(YES)REPLACE 设定队列管理器的持久信队列 ALTER QMGR DEADQ(QNAME) 定义本地队列 DEFINE QL(QNAME)REPLACE 定义别名队列 DEFINE QALIAS(QALIASNAME) TARGQ(QNAME) 远程队列定义 DEFINE QREMOTE(QRNAME)+ RNAME(AAA)RQMNAME(QMGRNAME)+ XMITQ(QTNAME) 定义模型队列 DEFINE QMODEL(QNAME)DEFTYPE(TEMPDYN) 定义本地传输队列 DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) + INITQ(SYSTEM.CHANNEL.INITQ)+ PROCESS(PROCESSNAME) REPLACE 创建进程定义 DEFINE PROCESS(PRONAME)+ DESCR(‘STRING’)+ APPLTYPE(WINDOWSNT)+ APPLICID(’ runmqchl -c SDR_TEST -m QM_ TEST’) 其中APPLTYPE的值可以是:CICS、UNIX、WINDOWS、WINDOWSNT等 创建发送方通道 DEFINE CHANNEL(SDRNAME)CHLTYPE(SDR)+ CONNAME(‘100.100.100.215(1418)’)XMITQ(QTNAME)REPLACE 其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。 创建接收方通道 DEFINE CHANNEL(SDR_ TEST)CHLTYPE(RCVR)REPLACE

MQ操作手册

交通银行理财产品销售平台 MQ 操作手册

文档修改历史
版本号 1.0 1.1 1.2 修改日期 2008-9-15 2008-10-13 2008-10-14 编写 范德强 范德强 范德强 评审 批准 修改内容 初始版本 添加生成环境部署说明(集群部分) 添加集群部分 脚本说明部分

1.MQ 配置简介
基本规则如下: 1) 2) 队列管理器与 GSP 的一个 QM 建立双向通道,即建立一个发送通道,一个接收通道 对于单纯的服务请求方,每个系统建立:n 个远程队列用于发送报文到 GSP,一个 本地队列用于接收 GSP 返回的报文。 表示该请求方需要请求的服务个数),BDP (n 系统作为服务请求方,请求核心,即建立一个远程队列,一个本地队列. 3) 对于单纯服务提供方,每个系统建立 2m 个队列:m 个远程队列用于发送报文到 GSP, 个本地队列用于接收 GSP 返回的报文。 表示服务方提供的服务数) m (m BDP 系统作为服务提供方,对外提供三个服务,即建立三个本地队列,三个远程队列 依照上面规则,配置如下: 1. 一个队列管理器:MQBDP001。 2. 一个传输队列:MQGSPGW1。 3. 服务提供方三个本地队列 LOCALQ.GSP.BOCOMFUNDACCOUNT.REQ LOCALQ.GSP.BOCOMFUNDPRODUCT.REQ LOCALQ.GSP.BOCOMFUNDRECONCILIATION.REQ。 4. 服务提供方三个远程队列: REMOTEQ.GSP.BOCOMFUNDACCOUNT.RSP REMOTEQ.GSP.BOCOMFUNDPRODUCT.RSP REMOTEQ.GSP.BOCOMFUNDRECONCILIATION.RSP 5. 服务请求方一个本地队列 LOCALQ.GSP.RSP 6. 服务请求方一个远程队列 REMOTEQ.GSP.CBKADAPTER.REQ 7. 一个死信队列:MQBDP001.DEAD.QUEUE。 8. 一个接收通道:MQGSPGW1. MQBDP001。 9. 一个发送通道:MQBDP001.MQGSPGW1
注:确认小型机的字库 Zh_GB 和 GB18030 是否安装。export 是否是 LANG=Zh_CN(注 意大小写,不是 zh_CN)。如果不是,请修改服务用户的.profile 的 LANG=Zh_CN。

MQ测试常用命令

测试1 本地通道测试 1、使用mqadmin用户登录 2、执行crtmqm -q TEST_QM,建立测试用的消息管理器。 3、执行strmqm TEST_QM,启动测试用的消息管理器。 4、执行runmqsc TEST_QM 5、输入define ql(DATA),回车,建立本地队列DATA 6、输入end回车 至此,本地测试通道搭建完成,下面进行测试。 1、执行amqsput DATA TEST_QM 2、随便输入一些内容,一行为一条消息,可输入多条。 3、输入完毕连续按两次回车退出。 4、执行amqsget DATA TEST_QM,看看能否收到刚才输入的消息,如果能收到,证明MQ 本地通道是正常的。如果收不到,则MQ安装有问题。 测试2 远程通道测试 如果测试1通过,继续进行远程通道测试。 1、执行runmqsc TEST_QM 2、输入define chl(TO.TEST) chltype(RCVR) trptype(tcp),创建接收方通道。 3、输入end并回车。 4、执行crtmqm TEST_RQM,建立模拟的远程通道。 5、执行strmqm TEST_RQM 6、执行runmqsc TEST_RQM 7、输入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、输入end 11、执行runmqlsr -t tcp -m TEST_QM -p 1111,启动接收方的监听。 12、新打开一个telnet会话,用mqadmin登录,执行runmqsc TEST_RQM 13、输入start chl(TO.TEST) 14、输入end 至此,模拟的远程测试通道建立完成,以下进行测试。 1、执行amqsput REMOTE.DATA TEST_RQM 2、随便输入一些内容,一行为一条消息,可输入多条。 3、输入完毕连续按两次回车退出。 4、执行amqsget DATA TEST_QM,看看能否收到刚才输入的消息,如果能收到,证明MQ 本地通道是正常的。如果收不到,则MQ安装有问题。

MQ常用命令与实操练习

一、队列管理器常用操作命令 1、通过输入以下命令来创建名为 QM_APPLE 的缺省队列管理器: crtmqm -q QM_APPLE 此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。 ***启动队列管理器: 通过输入以下命令来启动此队列管理器(因为新创建的队列管理器还没有启动): strmqm QmgrName 此时会显示一条消息,告诉您何时启动了该队列管理器。QmgrName 为需要启动的队列管理器名称。 注:如果启动指定的队列管理器则用strmqm QM_APPLE,如果是启动默认的队列管理器,可以不带其名字 -q是指创建缺省的队列管理器 注:删除队列管理器:dltmqm QM_APPLE **停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 **显示队列管理器 dspmq –m QmgrName 运行MQ命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 注:dspmq 则是显示所有的队列管理器

二、队列管理器对象常用操作命令(MQSC) MQSC命令是用来管理队列管理器对象,包括队列管理器本身、通道、队列和进程定义。可以使用runmqsc QmgrName向队列管理器QmgrName发出 MQSC 命令。命令的输入有两种方式,一种是交互式命令,另一种是从ASCII 文本文件中重定向输入命令。在这两种方式中,命令的格式是相同的。 运行MQSC命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 输入end命令来停止 MQSC: ***队列管理***** 1:创建本地队列: define qlocal (Q1) replace 注:定义持久性队列: DEFINE QLOCAL(QNAME) DEFPSIST (YES) REPLACE 如果已经定义好了队列,但需要修改该队列的属性,可以使用later命令操作。如,现在将已经定义好的队列Q1定义为持久性队列可以做如下操作: ALTER QLOCAL (Q1) DEFPSIST (YES) 可使用alter ?察看可修改对象,再用 alter 对象名?察看可修改对象的参数。 2:往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 比如:amqsput Q1 QM_APPLE 3:从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 注:在运行该命令时,不要先运行 runmqsc等。。而是在普通的命令窗口,启动MS-DOS窗口,进入到c:\Program Files\IBM\WebSphere MQ\bin目录下,需要根据实际情况填写安装目录。 4:清除队列中的所有消息

MQ命令

MQ命令.txt两个男人追一个女人用情浅的会先放弃。两个女人追一个男人用情深的会先放弃。╰︶ ̄—你的话,我连标点符号都不信男女授受不亲,中国哪来13亿人口。================================================== ---------队列管理器------------------------------- ================================================== 1、通过输入以下命令来创建名为 QM_APPLE 的缺省队列管理器: crtmqm -q QM_APPLE 此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。 ***启动队列管理器: 通过输入以下命令来启动此队列管理器(因为新创建的队列管理器还没有启动): strmqm 此时会显示一条消息,告诉您何时启动了该队列管理器。 注:如果启动指定的队列管理器则用strmqm QM_APPLE,如果是启动默认的队列管理器,可以不带其名字 -q是指创建缺省的队列管理器 注:删除队列管理器:dltmqm QM_APPLE **停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止 **显示队列管理器 dspmq –m QmgrName 运行MQ命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 注:dspmq 则是显示所有的队列管理器 ================================================== ---------MQ命令------------------------------- ================================================== 运行MQ命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 输入end命令来停止 MQSC:

MQ日常维护文档

MQ日常维护文档

一. 简介 (3) 1. MQ目录结构 (3) 二. 常用MQ系统命令 (3) 1. 观察MQ队列管理器运行状态 (3) 三. 使用MQSC脚本命令管理 (4) 1. 进入指定队列管理器脚本命令控制台 (4) 2. 常用MQSC脚本命令 (4) 查看所有通道状态 (4) 检查通道具体状态 (4) 检查队列配置和深度 (4) 四. 维护项目 (4) 1. 实时监控以下文件系统使用情况: (4) 2. 定期报告MQ系统错误,备份清理MQ系统错误记录 (5) 3. 监控队列深度 (5) 4. 检查死信队列 (5) 5. 检查日志个数是否增长 (5) 6. 检查MQ队列管理器错误日志 (5) 7. 清理队列管理器IPC资源............................................................. 错误!未定义书签。 8. 检查、处理队列管理器pending事务 (6)

一.简介 1. MQ目录结构 MQ系统错误记录目录: /var/mqm/errors MQ队列管理器目录(缺省情况下) /var/mqm/qmgrs/ 注意:必须保证该目录下的任何文件不被修改,不被删除,否则MQ队列管理器将遭到致命破坏,无法恢复,本地消息全部丢失。 二.常用MQ系统命令 1. 观察MQ队列管理器运行状态 对于MQ 5.1及以下版本,通过ps –ef | grep 看下面进程是否存在:#amqzxma0 -m 对MQ 5.2或以上版本,执行如下命令检查队列管理器运行状态: #dspmq 显示结果中表示MQ队列管理器的名称,STATUS表示当前运行状态。 运行状态有: Starting 正在启动 Running 正在运行 Ending 正在停止 Ended normally 已经正常终止 Ended immediately 已经立即终止 Ended preemtively 已经强制终止 Ended unexpectively 异常终止 注意:停止系统后必须使用dspmq命令进行状态检查 例: $dspmq 显示结果

IBM MQ使用指南

IBM MQSeries使用指南 深圳市滨河大道5022号联合广场A座2408 赖寿生 02-1-17 下午 01:12:56 随着计算机网络和分布式应用的不断发展,远程消息传递越来越成为应用系统中不可缺少的组成部分。商业消息中间件的出现保证了消息传输的可靠性,高效率和安全性,同时也减少了系统的开发周期。目前应用最多的消息中间件产品为IBM MQSeries。本文就针对MQ的基本操作与配置进行详细的阐述,希望对读者有所帮助。 一.MQ基本操作 MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。其基本的操作方法如下: 创建队列管理器 crtmqm –q QMgrName -q是指创建缺省的队列管理器 删除队列管理器 dltmqm QmgrName 启动队列管理器 strmqm QmgrName 如果是启动默认的队列管理器,可以不带其名字 停止队列管理器 endmqm QmgrName 受控停止 endmqm –i QmgrName 立即停止 endmqm –p QmgrName 强制停止

显示队列管理器 dspmq –m QmgrName 运行MQSeries命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名字 往队列中放消息 amqsput QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 启动通道 runmqchl –c ChlName –m QmgrName 启动侦听 runmqlsr –t TYPE –p PORT –m QMgrName 停止侦听 endmqlsr -m QmgrName MQSeries命令 定义死信队列 DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE 设定队列管理器的死信队列 ALTER QMGR DEADQ(QNAME)

相关主题
相关文档
最新文档