MQ安装与调试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、什么是中间件
中间件是处于应用软件和系统软件之间的通用效劳,是一类以自己的复杂换取企业应用简单化的可复用的基础软件。

中间件主要分为消息中间件、应用服务器中间件、交易中间件等等。

而今天,笔者晓奕主要向大家介绍的正是IBM厂商的消息中间件WebSphere MQ。

二、WebSphere MQ简介
Websphere MQ是IBM的商业消息通信中间件(Commercial Messaging Middleware)。

Websphere MQ提供一个具有工业标准、安全、可靠的消息传输系统。

它可实施在广泛的IBM和非I BM平台上,它的功能是控制和管理一个集成的商业应用,使得组成这个商业应用的多个分支程序(模块)之间通过传递消息完成整个工作流程。

通过使用WebSphere MQ用户可以简单方便的开发出可靠、高效的分布式应用系统。

三、WebSphere MQ要紧对象
消息是对利用它的应用程序成心义的以字节为单位的字符串。

消息能够用来实此刻相同或不同平台上应用程序间的通信。

队列是用于存储消息的数据结构。

按功能能够分为本地队列、远程队列、传输队列、模板队列、别名队列、死信队列等等。

队列治理器在WebSphere MQ中队列治理器是大体的软件系统,队列治理器可看成是队列和其他对象的容器。

通道是一种提供从一个队列治理器到另一个队列治理器的通信途径。

它又叫消息通道,用在散布式的队列把消息从一个队列治理器发送到另一个队列治理器。

依照概念能够分为发送通道(Sender)、接收通道(Receiver)、效劳器通道(Server)、请求器通道(Requester)等。

MQSC命令是用来治理队列治理器对象,包括队列治理器本身、通道、队列和进程概念。

能够利用 runmqsc 向队列治理器发出 MQSC 命令。

四、WebSphere MQ体系结构
WebSphere MQ的体系结构如下图,它是由许多对象所组成的,要紧包括队列治理器、队列、通道、进程概念等对象。

队列治理器和DB2数据库中的实例相似,队列治理器比如是数据库实例,队列比如是数据库中的数据表,而消息就好似数据表中的某一行数据。

五、本文的任务目标
本文完整的演示了WebSphere MQ的两个最经常使用的任务。

建立和验证一个队列管理器和一个队列的本地安装;
成立和验证利用两个队列治理器(一个作为发送方,一个作为接收方)的效劳器至效劳器的安装。

六、MQ的本地安装:
注意:WebSphere MQ对象概念是区分大小写的。

若是您是利用MQSC命令以小写方式输入的任何文本会自动转换成大写,除非用单引号将他们引发来。

因此请您对照以下例子进行操作的时候,请注意大小写和单引号的利用,以避免阻碍学习成效。

任务概述:
利用MQSC命令方式成立队列治理器,同时创建队列,并测试往队列中放入和读取消息。

概念配置的具体步骤:
(1)作为mqm组中的用户登录到shell中;
通过输入以下命令创建名为的队列管理器,-q参数是指创建为缺省的队列管理器;
crtmqm –q
命令进程中你将会面到提示信息,它们通知您已经创建了队列治理器而且已经创建缺省的WebSphe re MQ对象。

(2)查看队列治理器是不是已经成立成功,请利用dspmq命令:
dspmq
该命令是用来显示系统中存在的队列治理器,如上图所示,已经成立成功,并处于未运行的状态。

(3)要启动队列治理器,请输入:
strmqm 或者 strmqm
strmqm 后不加参数,表示启动缺省的队列治理器,为幸免启错对象,建议指定队列治理器来启动:提示队列治理器已经启动成功,治理员能够继续利用dspmq命令产看队列治理器的状态如下:
(4)通过输入下述命令来启用MQSC命令界面:
runmqsc 或者 runmqsc
会显示一条消息通知您已经启动MQSC会话。

显现以上提示后,表示进入了MQSC的交互治理界面,MQSC没有命令提示符,现在,治理员能够对该队列治理器进行相关的命令方式的治理了。

(5)通过输入以下命令来建扬名为的本地队列:
define qlocal
请注意,MQSC中输入的所有小写字符都会自动转换为大写,因此其实咱们成立的本地队列是大写的。

成立完毕后,如以下图,会显示一条消息通知您已经创建队列:
(6)通过输入以下命令来停止MQSC:
end
从MQSC会话退出回到shell中。

(7)此刻,咱们已经概念了:
名为的缺省队列管理器
名为的队列
测试本地安装的具体步骤
下面开始测试MQ的本地安装。

要测试队列治理器和队列,能够利用amqsput样本程序将消息放入队列,利用amqsget样本程序从队列取回消息。

具体步骤如下:
(1)请先确保正确设置了mq的环境变量,队列治理器处于正在运行的状态,并检查利用组mqm中的用户登录到shell中。

我们可以使用下列命令将消息放入此队列:
amqsput 或者 amqsput
请注意,若是队列属于缺省的队列治理器中,能够不用指定队列治理器。

为幸免犯错,建议手工指定。

在一行或多行中输入一些消息文本,后跟一行空白行,消息输入即可完成并结束。

(2)在未放入消息之前,队列的深度curdepth应该是0的,此刻放入了一条消息,队列深度将会变成1。

为了验证那个方式,咱们能够重回到MQSC会话中,利用下述命令查询出队列深度为1的,且是以MY开头的本地队列,果然curdepth是为1,说明消息输入成功:
再输入完整的queue名字进行显示:
(3)从本地队列中掏出消息,咱们能够输入下述命令:
amqsget 如下图,我们看到成功地从队列中取出了消息!
此刻,咱们已经成功地验证了本地安装。

七、MQ的效劳器到效劳器安装
任务概述
承接上文,咱们已经创建好了接收方的队列治理器和其上的队列,此刻咱们仍需要继续发送方的队
列治理器和其上的远程队列、传输队列,发送方通道等,并需要回到接收方队列治理器中创建接收通道和Listener。

咱们将在同一部机械上完成这些操作,固然,若是你有条件,能够跨机械实践,并保证机械间的通信链路是畅通的。

概念配置的具体步骤
(1)作为mqm组中的用户登录到shell后,咱们创建名为的发送方队列治理器:
crtmqm
(2)队列治理器创建完成后,咱们将其启动:
strmqm
(3)启动MQSC会话,并概念一条名为的本地队列,该队列将会被用作传输队列,因此该本地队列的usag e参数将会被概念为xmitq:
runmqsc
define qlocal usage(xmitq)
(4)通过输入以下命令来概念远程队列的本地概念:
define qremote rname rqmname(‘ xmitq
(5)远程队列概念完成后,咱们能够利用如下命令查看其详细配置项信息:
display qremote
请注意那个地址,rqmname项括号里的是小写的接收方队列治理器的名字,不明白你有无注意到咱们在远程队列的define语句中利用了单引号呢?咔咔,功效就在那个地址,不然待会测试就会会犯错了。

(6)通过输入以下命令来概念发送方通道:
define channel chltype(sdr) conname(‘ xmitq trptype(tcp)
注意,conname概念的是接收方所在机械的ip和Listener端口,若是不写端口那么默以为1414,为幸免避免端口冲突,建议自己概念一个未用的端口。

(7)此时,我们再次回到接收方队列管理器的MQSC会话中,通过输入以下命令来定义接收方的接听器: define listener trptype(tcp) control(qmgr) port(1416)
其中,port项概念的端口必需与咱们适才在发送方通道概念时候所利用的端口号相同。

(8)接收方的Listener成立完成后,咱们通过输入以下命令成立接收方通道:
define channel chltype(rcvr) trptype(tcp)
请注意,接收方通道的名字需要和发送方通道的名字概念为一样。

(9)好了,到此刻为止,咱们概念了以下对象:
发送方队列管理器
远程队列
传输队列
发送方传输通道
以及
接收方Listener
接收方传输通道
至此,我们已经完成了服务器方式的安装配置。

下面我们即将开始测试。

测试效劳器到效劳器安装的具体步骤
测试之前,需要启动发送方的通道和接收方的Listener。

需要注意的是,发送方不需要Listener,接收方的通道不需要手工启动,在发送方通道启动成功后,接收方通道会自动启动。

(1)进入发送方的MQSC会话,利用如下命令启动发送方通道:
start channel
消息提示通道启动完成后,咱们能够利用如下命令查看通道的状态,如以下图所示,发送方的状态status是running:
display chstatus
(2)进入接收方的MQSC会话,利用如下命令启动Listener:
start listener
消息提示Listener启动完成后,咱们能够利用如下命令查看Listener的状态,如以下图所示,L istener的状态status是running:
display lsstatus
(3)咱们退出MQSC会话,利用如下命令能够明白1416端口正在监听:
netstat –an | grep –i listen | grep –i 1416
如上文所述,接收方通道不需要手工启动,在发送方通道启动后会自动启动,咱们能够通过如下命令查看接收方通道的运行状态,如以下图所示,接收方通道的状态status也变成是running:
(4)万事俱备,只欠东风!下面咱们仍然利用amqsput和amqsget命令对效劳器安装配置的架构进行测试。

使用如下命令往接收方队列管理器的远程队列中输入消息,:
amqsput
(5)消息输入完成后,咱们能够回到MQSC会话中利用下述命令查询出传输队列当前深度curdepth为1:
(6)接着,咱们从接收方的本地队列中掏出消息,咱们能够输入下述命令:
amqsget 如下图,我们看到成功地从队列中取出了消息!
消息从远程队列经过传输队列和传输通道后,传送到了接收方的本地队列中!
(7)最后,完成测试后,咱们能够利用如下命令停止队列治理器:
endmqm -i
endmqm -i
八、总结
至此,不明白您是不是已经关于WebSphere MQ的大体知识已经有了较好的明白得了呢?
咔咔,不妨拿掉书本,再次动手,靠记忆默念地实践多一次,那样您就牢牢地掌握这些基本操作了!。

相关文档
最新文档