-
IBM WMQ
1.
技术介绍
1.1.
总
体介绍
消
息队列(
MQ
)是一种应用程序对应用程序的通信方法。应用程
序通过写和检索出入列队
的针对应用程序的数据(消息)
来通信
,而无需专用连接来链接它们。消息传递指的是程序之间
通过在消息中发送数据进行通信
,
而不是通过直接调用彼此来通信,
直接调用通常是用于诸如远
程过程调用的技术。
排队指的是应用程序通过队列来通信。
p>
队列的使用除去了接收和发送应用程
序同时执行的要求。
IBM
WebSphere
MQ
产品支持应用程序通过不同组件如处理器、子系统、操作
系统以及通
信协议的网络彼此进行通信。例如,
IBM
WebSphere MQ
支持
35
种以上的不同操作系统。
IBM WebSphere MQ
支持两种不同的应用程序编程接口:
Java
消息服务(
JMS
)和消息队列接口(
MQI
)
< br>。
在
IBM WebSphere
MQ
服务器上,
JMS
绑定方式被映射到
MQI
。如图所示,应用程序直
接与其本地队列管理器通过使用
< br>
MQI
进行对话,
MQI
是一组要求队列管理器提供服务的调用。
MQI
的引人之处是它只提供
13
次调用。这意味着对于应用程序编程员它是一种非常易于使用
的接口,
因为大部分艰苦工作都将透明完成的。
1.2.
术
语定义
NO.
1
英文名字
QueueManager
英文简写
QM
中文名字
队列管理器
描述
提供队列服务和
API
及用于管理
队列的管理功能的系统管理程序。
发送和接收都必须有
2
Queue
Q
队列
消息所发送到的命名目的地
分为:<
/p>
本地队列、远程队列、
传输
队列
3
4
5
6
QueueLocal
QueueRemote
QueueXmit
CHANNEL
QL
QR
Xmit
C
本地队列
远程队列
传输队列
通道
位于队列管理器本地的队列。
驻留在
其他队列管理器
(可能位于
其他主机上)的队列。
以远程队列为目标的临时消息队
列
队列管理器之间的通信路径
发送方通道
接收方通道
7
8
侦听器
命令服务器
从客户机或其他队列管理
器接受
网络请求。
验证命令并将有效
命令发送到命
令处理器(后者随后执行命令)
。
9
CCSID
SDR
RCVR
SDR
RCVR
编码字符
消息发送者
消息接收者
资源管理器的编码字符集标识
2.
安装
2.1.
下
载
最新版本:
7.0.1.3
有多个版
本:
linux_32,linux_64,linux_win
linux_32
版本下载地址:
/sdfdl/v2/fulfill/CZRW2ML/Xa.2/8YMuuX3C
7jhf4qe
R2CKMC_k8gut5wYU5A
wrH
g/2ML//Xd./.D1VK/Xg.574915
3/-WSMQ-EV
AL/XY
.regsrvs/ffsy3miqHUU9ls7Tp
Uo0w/
2.2.
硬
件环境
NO.
1
2
IP
192.168.34.231
192.168.32.232
硬件
PC-server
PC-server
操作系统
Linux-64
Linux-64
用途
接收数据
发送数据
2.3.
安
装
上传文件到相关目录,
1.
解压文件
tar zxvf
wmq_linux_64_
2.
执行许可
#
文字模式
./ -text_only
输入
1
3.
安装
rpm -ivh
rpm -ivh
#
安装服务端:
rpm -ivh
#
安装客户端:
rpm -ivh
#
安装例子:
rpm -ivh
#
安装
JAVA
:
rpm
-ivh
安装后会自动创建系统用户及用户组:
mqm
程序安装目录:
/opt/mqm
数据相关目录:
/var/mqm
J
ava
相关
jar
包:
/opt/mqm/java/lib
4.
更改
m
qm
用户密码
#
新密码
passwd mqm
#
切换到
mqm
用户
su - mqm
后续操作用
mqm
用户操作
2.4.
卸
载
1.<
/p>
用
root
帐号登录系统
2.
停止所有队列管理器
//
查看正在运行的队列管理器
dspmq
//
停止所有跟队列管理
器相关的监听程序,
注意:
QueueManagerName
是队列队列管理器名称,
具体名
称用命
令
dspmq
查询
endmqlsr -m QueueManagerNam
e
//
停止所有正在运行的队列管理器
endmqm QueueManagerName
3. /
/
确认所有跟
MQ
有关的进程都已经停
止
ps -ef | grep
mq
4.//
查看安装了那些相关的包
rpm -q -a | grep MQSeries
//
一次性删除所有安装的包,以下命令只是一个示例,命令后面的包名称是命令
“rpm
-q
-a
|
grep
MQSeries”
//
查询所得的所有包名称,包名之间用空格分隔,
rpm -ev MQSeriesRuntime-6.0.0-0
MQSeriesServer-6.0.0-0
MQSeriesServer-6.0.0-0
5.
删除用户
userdel mqm
6.
删除文件
rm -rf
/opt/mqm/
rm -rf /var/mqm/
7.
重启主机
2.5.
重
新启动
MQ
1
、
切换到
mqm
用户
su - mqm
2
、
启动队列管理器
strmqm
CMS_ALARM_QM
3
、启动服务
启动命令服务器
:
非必须
strmqcsv CMS_ALARM_QM &
启动侦听器:
runmqlsr
-m CMS_ALARM_QM -t TCP &
验证队列管理器和侦听器在两台计算机上运行,然后启动通道:
runmqchl -m CMS_ALARM_QM -c CH1 &
3.
配置
配置过程包括以下几个步骤:
1.
创建队列管理器。
2.
启动队列管理器。
3.
创建队列和通道
:
可以命令方式,也可文件方式。
4.
启动命令服务器、侦听器和通道。
3.1.
简
单配置
1.
创建队列管理器
crtmqm
CMS_ALARM_QM
2.
启动队列管理器
strmqm
CMS_ALARM_QM
3.
创建队列和通道
进入队列处理器
runmqsc
CMS_ALARM_QM
创建通道
DEFINE
CHANNEL ('CH1') CHLTYPE(SVRCONN) +
TRPTYPE(TCP) +
DESCR(' ') +
HBINT(300) +
MAXMSGL(4194304) +
MCAUSER(
'mqm'
) +
RCVDATA(' ') +
RCVEXIT(' ') +
SCYDATA(' ') +
SCYEXIT('
') +
REPLACE
SENDDATA(' ') +
SENDEXIT(' ') +
创建队列
HW_ALARM.Q
DEFINE QLOCAL ('HW_ALARM.Q') +
REPLACE
创建队列
SJ_ALARM.Q
DEFINE QLOCAL ('SJ_ALARM.Q') +
REPLACE
创建队列
CS_ALARM.Q
DEFINE QLOCAL ('CS_ALARM.Q') +
REPLACE
4.
启动服务
启动命令服务器
:
非必须
strmqcsv CMS_ALARM_QM &
启动侦听器:
runmqlsr
-m CMS_ALARM_QM
-t TCP &
验证队列管理器和侦听器在两台计算机上运行,然后启动通道:
runmqchl -m CMS_ALARM_QM -c CH1 &
3.2.
接
收端
5.
创建队列管理器
crtmqm
WMQ1QM
6.
启动队列管理器
strmqm
WMQ1QM
7.
创建队列和通道
编辑如下文件
:
DEFINE
QLOCAL ('
WMQ1InputQ
') +
REPLACE
DEFINE QLOCAL
('
WMQ2QMXmitQ
') +
DESCR('Transmission Queue to WMQ2QM')
+
USAGE(XMITQ) +
TRIGGER +
TRIGTYPE(FIRST) +
TRIGDPTH(1) +
TRIGDATA('
2QM
') +
INITQ('') +
REPLACE
DEFINE QREMOTE
('
WMQ1OutputQ
') +
XMITQ('
WMQ2QMXmitQ
') +
RNAME('
WMQ2InputQ
') +
RQMNAME('
WMQ2QM
') +
REPLACE
DEFINE CHANNEL
('
2QM
') CHLTYPE(SDR) +
TRPTYPE(TCP) +
CONNAME('
p>
192.168.32.232(1414)
') +
XMITQ('
WMQ2QMXmitQ
') +
REPLACE
DEFINE CHANNEL
('
1QM
') CHLTYPE(RCVR) +
TRPTYPE(TCP) +
REPLACE
TRPTYPE(TCP) +
DESCR(' ')
+
HBINT(300) +
MAXMSGL(4194304) +
MCAUSER(
'mqm'
) +
RCVDATA(' ') +
RCVEXIT(' ') +
SCYDATA(' ') +
SCYEXIT('
') +
SENDDATA(' ') +
SENDEXIT(' ') +
REPLACE
DEFINE CHANNEL ('N') CHLTYPE(SVRCONN) +
执行命令:
#
为命令文件,
runmqsc
WMQ1QM < >
WMQ1QM
:为队列管理器名字,
<
为命令,
>
为输出结果
8.
启动服务
启动命令服务器
:
非必须
strmqcsv WMQ1QM &
启动侦听器:
runmqlsr
-m WMQ1QM -t TCP &
验证队列管理器和侦听器在两台计算机上运行,然后启动通道:
runmqchl -m WMQ1QM -c 2QM &
runmqchl -m WMQ1QM -c 1QM &
3.3.
发
送端
1.
创建队列管理器
crtmqm
WMQ2QM
2.
启动队列管理器
strmqm
WMQ2QM
3.
创建队列和通道
编辑如下文件
:
DEFINE
QLOCAL (
'WMQ2InputQ'
) +
DEFINE QLOCAL
(
'WMQ1QMXmitQ'
) +
DEFINE QREMOTE
(
'WMQ2OutputQ'
) +
DEFINE CHANNEL
('
1QM
') CHLTYPE(SDR) +
TRPTYPE(TCP) +
CONNAME('
192.168.34.231(1414
)
') +
XMITQ('WMQ1QMXmitQ') +
REPLACE
XMITQ('WMQ1QMXmitQ') +
RNAME('WMQ1InputQ') +
RQMNAME('WMQ1QM') +
REPLACE
DESCR('Transmission Queue to
WMQ1QM'
) +
USAGE(XMITQ) +
TRIGGER +
TRIGTYPE(FIRST) +
TRIGDPTH(1) +
TR
IGDA
TA('
1QM
') +
INITQ('') +
REPLACE
REPLACE
DEFINE
CHANNEL ('
2QM
')
CHLTYPE(RCVR) +
DEFINE CHANNEL ('N')
CHLTYPE(SVRCONN) +
TRPTYPE(TCP) +
DESCR(' ') +
HBINT(300) +
MAXMSGL(4194304) +
MCAUSER(
'mqm'
) +
RCVDATA(' ') +
RCVEXIT(' ') +
SCYDATA(' ') +
SCYEXIT(' ') +
SENDDATA(' ') +
SENDEXIT(' ') +
REPLACE
TRPTYPE(TCP) +
REPLACE
执行命令:
#
为命令文件,
runmqsc WMQ2QM < >
WMQ2QM
:为队列管理器名字,
<
为命令,
>
为输出结果
4.
启动服务
需要启动命令服务器:必必须
strmqcsv WMQ2QM &
需要启动侦听器
runmqlsr
-m WMQ2QM -t TCP &
验证队列管理器和侦听器在两台计算机上运行,然后启动通道:
runmqchl -m WMQ2QM -c 1QM &
runmqchl -m WMQ2QM -c 2QM &
-
-
-
-
-
-
-
-
-
上一篇:网络分析仪
下一篇:张敏版 科技英语阅读教程 英译汉 中文翻译