一、服务安装
1.0、下载地址
http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/
1.1、用root用户登录,并将安装包上传到root根目录下并解压。
1.2、解压并安装
1.2.1解压后,解压文件都在MQServer中
tar –xzvf IBM_MQ_9.0.0.0_LINUX_X86-64_TRIAL.tar.gz
1.2.2进入MQServer文件夹中:
cd MQServer
1.2.3运行 MQ 许可证程序
./mqlicense.sh 执行停止后输入1并按回车键。 或者执行 ./mqlicense.sh -accept
1.2.4安装 WebSphere MQ for Linux 服务器(Runtime、SDK 和 Server 软件包):
rpm -U MQSeriesRuntime-8.0.0-4.x86_64.rpm
rpm -U MQSeriesSDK-8.0.0-4.x86_64.rpm
rpm -U MQSeriesServer-8.0.0-4.x86_64.rpm
1.2.5安装 WebSphere MQ for Linux 客户机:
rpm -U MQSeriesClient-8.0.0-4.x86_64.rpm
1.2.6安装 WebSphere MQ 样本程序
rpm -U MQSeriesSamples-8.0.0-4.x86_64.rpm
1.2.7安装MQ其他软件包
rpm -ivh MQSeriesMan-8.0.0-4.x86_64.rpm
rpm -ivh MQSeriesJava-8.0.0-4.x86_64.rpm
1.2.8这两个命令是导入导出证书使用的命令由此包生成,执行顺序不能变
rpm -ivh MQSeriesJRE-8.0.0-4.x86_64.rpm
rpm -ivh MQSeriesGSKit-8.0.0-4.x86_64.rpm
二、配置环境
2.1.修改mqm用户密码
安装过程创建了一个名为mqm 的用户和一个同样名为mqm 的组,此时,新用户是被锁定的,必须设置一个密码来解锁,这样才能正常使用该用户。
passwd test
2.2.修改环境变量
命令:vi /etc/profile
添加:
MQ_HOME=/opt/mqm/bin
PATH=$MQ_HOME:$PATH
export PATH
wq 保存退出
生效命令:source /etc/profile
至此,root的操作就完成了!接着切换mqm账户继续操作开始配置队列管理器!!!
三、开始建立MQ通道及队列
3.1切换mqm用户:su - mqm
3.2、查看目前已创建的队列管理器:dspmq
3.3、创建队列管理器:crtmqm -q QMtest
3.4、开启队列管理器:strmqm QMtest
3.5、查看队列管理器运行状态: dspmq
3.6、运行队列管理器: runmqsc QMtest
3.7、本地队列QL01 DEFINE QLOCAL(QL01) share
3.8、服务器连接通道CHO1 DEFINE CHANNEL(CH01) CHLTYPE(SVRCONN) TRPTYPE(TCP) mcauser('mqm')
四、定义并启动监听
定义监听 DEFINE LISTENER(QMtestLISTEN) TRPTYPE(TCP) CONTROL(QMGR) PORT(11200)
启动监听: start LISTENER(QMtestLISTEN)
dis ql(*)
quit
五、创建第一个MQ服务。
crtmqm QM01
strmqm QM01
dspmq
runmqsc QM01
DEFINE QLOCAL(HIST_TO) share
DEFINE QLOCAL(ROUTER_MAP) share
DEFINE CHANNEL(CH01) CHLTYPE(SVRCONN) TRPTYPE(TCP) mcauser('mqm')
DEFINE LISTENER(QM01LISTEN) TRPTYPE(TCP) CONTROL(QMGR) PORT(11201)
start LISTENER(QM01LISTEN)
dis ql(*)
alter qmgr chlauth(disabled)
refresh security type(connauth)
quit
六、创建第二个MQ服务。
crtmqm QM02
strmqm QM02
dspmq
runmqsc QM02
DEFINE QLOCAL(HIST_TO) share
DEFINE QLOCAL(ROUTER_MAP) share
DEFINE CHANNEL(CH01) CHLTYPE(SVRCONN) TRPTYPE(TCP) mcauser('mqm')
DEFINE LISTENER(QM02LISTEN) TRPTYPE(TCP) CONTROL(QMGR) PORT(11202)
start LISTENER(QM02LISTEN)
dis ql(*)
alter qmgr chlauth(disabled)
refresh security type(connauth)
quit
七、创建第三个MQ服务。
crtmqm QM03
strmqm QM03
dspmq
runmqsc QM03
DEFINE QLOCAL(HIST_TO) share
DEFINE QLOCAL(ROUTER_MAP) share
DEFINE CHANNEL(CH01) CHLTYPE(SVRCONN) TRPTYPE(TCP) mcauser('mqm')
DEFINE LISTENER(QM03LISTEN) TRPTYPE(TCP) CONTROL(QMGR) PORT(11203)
start LISTENER(QM03LISTEN)
dis ql(*)
alter qmgr chlauth(disabled)
refresh security type(connauth)
quit
八、发送消息测试:
进入到/opt/mqm/samp/bin/ 目录下,执行命令
./amqsput QL01 QMtest
./amqsget QL01 QMtest
九、删除消息队列
runmqsc QM03
dis ql(*)
Delete ql(QL01)
Delete ql(QL02)
Delete ql(QL03)
Delete ql(QX01)
dis ql(*)
quit
十、常用命令
查看队列管理器中的队列信息
dis ql(*)
清空队列的值
Clear ql(QL01)
删除队列
Delete ql(QL01)
查看队列管理器及运行状态
dspmq
停止队列管理器
endmqm QMtest
删除队列管理器
dltmqm QMtest
查看当前队列消息的详细情况
DISPLAY QUEUE (QL01)
发送消息
./amqsput QL01 QM01
接收消息
./amqsget QL01 QM01
十一、报错信息
1、启动应用后报 Could not refresh JMS Connection for destination 'HIST_TO' - retrying using FixedBackOff{interval=1000, currentAttempts=886, maxAttempts=unlimited}. Cause: JMSWMQ0018: Failed to connect to queue manager 'QM01' with connection mode 'Client' and host name '10.7.19.39(11201)'.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED') reason '2538' ('MQRC_HOST_NOT_AVAILABLE').
解决方案: strmqm [QM01/QM02/QM03 启动队列管理器即可。
十二、参考资料
https://blog.csdn.net/weixin_37539417/article/details/93488229
https://blog.csdn.net/cyan_grey/article/details/80482382
标签:管理器,IBM,队列,配置,MQ,rpm,ql,DEFINE From: https://blog.51cto.com/u_16190206/7398281