安装前注意:
>所需的MQ软件包
WMQv600Trial-x86_linux_2.tar.gz.
>安装jdk(自行安装,已安装可以忽略)
1、将MQ软件包上传到home目录下,并解压
[root@localhost home]# ll
总用量 864416
-rw-r--r--. 1 root root 885156293 8月 12 10:17 mqadv_dev914_linux_x86-64.tar.gz
drwxrwxrwx. 7 weblogic weblogic 239 8月 11 16:56 weblogic
[root@localhost home]# tar -zxvf mqadv_dev914_linux_x86-64.tar.gz
MQServer/
MQServer/MQSeriesRuntime-9.1.4-0.x86_64.rpm
MQServer/MQSeriesSDK-9.1.4-0.x86_64.rpm
MQServer/MQSeriesSamples-9.1.4-0.x86_64.rpm
MQServer/MQSeriesClient-9.1.4-0.x86_64.rpm
MQServer/MQSeriesJava-9.1.4-0.x86_64.rpm
MQServer/MQSeriesBCBridge-9.1.4-0.x86_64.rpm
MQServer/MQSeriesJRE-9.1.4-0.x86_64.rpm
MQServer/MQSeriesGSKit-9.1.4-0.x86_64.rpm
MQServer/MQSeriesSFBridge-9.1.4-0.x86_64.rpm
...........
2、解压时home目录下面会自动创建一个MQServer文件夹,并将软件包解压到这个文件夹里面,然后进入这个文件夹。
[root@localhost home]# ll
总用量 864420
-rw-r--r--. 1 root root 885156293 8月 12 10:17 mqadv_dev914_linux_x86-64.tar.gz
drwxrwxr-x. 7 226 12201 4096 11月 28 2019 MQServer
drwxrwxrwx. 7 weblogic weblogic 239 8月 11 16:56 weblogic
[root@localhost home]# cd MQServer/
3、执行接受许可脚本: ./mqlicense.sh –accept
[root@localhost MQServer]# ./mqlicense.sh –accept
Licensed Materials - Property of IBM
5724-H72
(C) Copyright IBM Corporation 1993, 2019
US Government Users Restricted Rights - Use, duplication or disclosure
restricted by GSA ADP Schedule Contract with IBM Corp.
WARNING: Unable to determine distribution and release for this system.
Check that it is supported before continuing with installation.
许可信息
下面列出的这些程序按照以下许可信息条款和条件以及获得客户与
IBM 事先同意的程序许可条款授予许可。如果客户事先未同意对本程序
生效的许可条款,那么 无保证程序的国际许可协议 (Z125-
5589-05) 适用。
程序名称 (程序号):
IBM MQ Advanced for Developers
(Non-Warranted) V9.1 - 07/2019
(5724-H72)
以下标准条款适用于被许可方对本程序的使用。
按 Enter 键继续查看本许可协议或按 "1" 接受本协议,按
"2" 拒绝本协议,按 "3" 打印本协议,按 "4" 阅读非
IBM 条款,按 "5" 用英语查看,或按 "99" 回到上一屏
幕。
1 #输入1接受协议
Agreement accepted: Proceed with install.
[root@localhost MQServer]#
4、安装 MQ for Linux 服务器:
[root@localhost MQServer]# rpm -ivh MQSeriesRuntime-9.1.4-0.x86_64.rpm
[root@localhost MQServer]# rpm -ivh MQSeriesSDK-9.1.4-0.x86_64.rpm
[root@localhost MQServer]# rpm -ivh MQSeriesServer-9.1.4-0.x86_64.rpm
5、 安装 MQ for Linux 客户端:
[root@localhost MQServer]# rpm -ivh MQSeriesClient-9.1.4-0.x86_64.rpm
6、MQ 样本程序(其中包括amqsput、amqsget、amqsgbr和amqsbcg等,样本程序安装在/opt/mqm/samp/bin 中。)
[root@localhost MQServer]# rpm -ivh MQSeriesSamples-9.1.4-0.x86_64.rpm
7、安装MQ其他软件包
[root@localhost MQServer]# rpm -ivh MQSeriesMan-9.1.4-0.x86_64.rpm
[root@localhost MQServer]# rpm -ivh MQSeriesJava-9.1.4-0.x86_64.rpm
安装过程创建了一个名为mqm的用户和一个同样名为mqm的组,此时,新用户是被锁定的,必须设置一个密码来解锁,这样才能正常使用该用户。用passwd命令:
[root@localhost MQServer]# passwd mqm
8、进入/etc/profile添加环境变量
[root@localhost mqm]# vim /etc/profile
在文件最后添加如下内容:
MQ_HOME=/opt/mqm/bin
PATH=$MQ_HOME:$PATH
export PATH
保存推出:wq,执行/etc/profile文件
[root@localhost mqm]# source /etc/profile
以上操作均在root用户下操作,至此MQ安装结束。MQ创建队列管理器要在mqm用户下。
9、创建队列管理器和通道
进入mqm用户
[root@localhost mqm]# su - mqm
上一次登录:四 8月 12 10:51:35 CST 2021pts/0 上
-bash-4.2$
注意:将下面内容逐个复制粘贴运行就可以了,注意修改其中的管理器名称、各个队列的名称、对方的ip和端口号、自己系统mq监听的端口号。
#创建队列管理器:(QM_01为对队列管理器名称)
crtmqm -q QM_01
#运行队列管理器:
strmqm QM_01
#打开运行管理器:
runmqsc QM_01
#定义本地队列:
DEFINE QLOCAL(L_01) share
#定义传输队列:
DEFINE QL(S_01_02) usage(xmitq) SHARE
#定义远程队列:
DEFINE QREMOTE(R_01_02) RNAME(L_01) RQMNAME(QM_01) XMITQ(S_01_02) REPLACE
#定义发送通道:注意修改为对方MQ的ip和端口号
DEFINE CHANNEL(01) CHLTYPE(SDR) TRPTYPE(TCP) CONNAME('192.168.29.146(1515)') XMITQ(S_01_02) REPLACE
#定义接受通道:
DEFINE CHANNEL(01) CHLTYPE(RCVR) TRPTYPE(TCP) REPLACE
#定义服务器通道:
define CHANNEL(DC.SVRCONN) chltype(SVRCONN) trptype(TCP) mcauser('mqm')
#定义监听端口,以及监听名字:
DEFINE LISTENER(QM01) TRPTYPE(TCP) CONTROL(QMGR) PORT(1414)
#listener(QM01):监听器名,名称可任意取
#TRPTYPE(TCP):通讯协议类型
#PORT(1414):服务监听端口
#CONTROL(QMGR):指定如何启动和停止监听器
#MANUAL:不会自动启动或自动停止监听器。通过使用START LISTENER命令和STOP LISTENER 命令来控制它。这是缺省值
#QMGR :当队列管理器启动和停止时,同时启动和停止被定义的侦听器。
#STARTONLY :当队列管理器启动时,同时启动侦听器,但当队列管理器停止时,不请求停止侦听器。
#开启端口监听:
start LISTENER(QM01)
#开启传输通道:
start chl(02)
#创建通道触发器:
alter ql(S_01_02) TRIGDATA('01') TRIGTYPE(FIRST) TRIGGER initq('SYSTEM.CHANNEL.INITQ')
#关闭认证
alter qmgr CHLAUTH(DISABLED)
alter qmgr CONNAUTH('')
refresh security type(CONNAUTH)
10、通过命令验证mq消息测试(进入:/opt/mqm/samp/bin/目录)
-bash-4.2$ cd /opt/mqm/samp/bin/
#发送消息
-bash-4.2$./amqsput R_01_02 QM_01 #./amqsput 远程队列名称 队列管理器名称
Sample AMQSPUT0 start
target queue is R_01_02
jianhang!! #输入测试内容,输入完测试内容后连续两次enter键退出并发送
Sample AMQSPUT0 end
#接收消息
-bash-4.2$ ./amqsget L_01 QM_01 #./amqsget 本地队列 队列管理器
Sample AMQSGET0 start
message <jiha!!> #接收到的内容
no more messages
Sample AMQSGET0 end
附:MQ管理方式
crtmqm -q 名字 创建队列管理器
strmqm 名称 启动队列管理器
runmqsc 名字 运行队列管理器
dspmq 查看队列管理器状态
endmqm 名称 停止队列管理器
endmqm -i 名称 立即停止队列管理器
endmqm -p 名称 强制停止队列管理器
dltmqm 名称 删除队列管理器
通道:
Delete chl(name) 删除通道
Dis chs(name) 查看通道状态
Start chl(name) 启动通道
Stop chl(name) 关闭通道
Reset chl(name) 重置通道
队列:
Dis ql(qname) all 显示队列所有属性
Dis ql(qname) curdepth 显示队列当前深度,即当前队列的消息数
Dis qs(qname) type(queue) all 显示与队列相关的状态信息
Dis qs(qname) type(handle) all 显示与访问队列的句柄相关的状态信息
Delete ql(qname) 删除队列
Clear ql(name) 删除队列中的消息