MQ安装常见问题汇总

时间:2019-06-15
本文章向大家介绍MQ安装常见问题汇总,主要包括MQ安装常见问题汇总使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

MQ8.0版本安装步骤:关于linux版的mq安装网上很多,就不多赘述,安装的配置是容易出问题的,问了保证一致性和整体性,最好采用脚本。

#对方的队列管理器 
export QmgrName=A

#本地的队列管理器 也是java服务器远程连接的队列管理器名称
export QmgrName1=根据要求进行命名

#创建本地 队列管理器  
echo "create MQ Qmgr: $QmgrName1 "
crtmqm -ld /var/mqm/log -lc -lf 16384 -lp 25 -ls 5 $QmgrName1

#启动队列管理器  
echo "start MQ Qmgr: $QmgrName1 "
strmqm $QmgrName1

#设置 队列管理器字符集 设置字符集
#echo "set CCSID of MQ Qmgr( $QmgrName1 ): $CCSID" 可以是819,1208,1381等
echo "set CCSID of MQ Qmgr( $QmgrName1 ):1208"
echo "ALTER QMGR CCSID($CCSID)"|runmqsc $QmgrName1

#创建及设置 队列管理器的死信队列 设置死信队列,该队列如果没有要求可以不创建,主要作用是对于发送失败的消息存放地点
echo "set Dead Letter Queue of MQ Qmgr( $QmgrName1 ): SXDL "
echo "DEFINE QLOCAL(SXDL) LIKE(SYSTEM.DEFAULT.LOCAL.QUEUE) USAGE(NORMAL) DEFPSIST(YES) MAXMSGL(41943040) MAXDEPTH(600000) REPLACE DESCR('Dead Letter Queue')"|runmqsc $QmgrName1
echo "ALTER QMGR DEADQ(SXDL)"|runmqsc $QmgrName1

#设置 队列管理器的消息最大长度
echo "Max Length of Messages in MQ Qmgr( $QmgrName1 ):41943040"
echo "ALTER QMGR MAXMSGL(41943040)"|runmqsc $QmgrName1

#重启 队列管理器
endmqm -w $QmgrName1
strmqm $QmgrName1
strmqcsv $QmgrName1

#创建服务器连接通道(SVRCONN )
echo "create channel(Type:SVRCONN) : SVRCONN  "
echo "DEFINE CHANNEL(SVRCONN) CHLTYPE(SVRCONN) TRPTYPE(TCP) MCAUSER('ADMIN') MAXMSGL(41943040) REPLACE"|runmqsc $QmgrName1

#用于接收消息的批量消息队列 #QLOCAL 创建本地队列
echo "DEFINE QLOCAL('SBFSY.EXT.BATCH.IN') LIKE(SYSTEM.DEFAULT.LOCAL.QUEUE) USAGE(NORMAL) REPLACE DEFPSIST(YES) MAXDEPTH(600000) MAXMSGL(41943040) DESCR('From SW System BATCH Receive Queue')"|runmqsc $QmgrName1

#创建批量传输队列 #创建传输队列  
echo "create Transfer Queues : $BATCHTRAN "
echo "DEFINE QLOCAL($BATCHTRAN) LIKE(SYSTEM.DEFAULT.LOCAL.QUEUE) USAGE(XMITQ) REPLACE DEFPSIST(YES) MAXDEPTH(600000) MAXMSGL(41943040) TRIGGER TRIGTYPE(EVERY)
INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(C1030965000076.PBC.B1) TRIGDPTH(1) DESCR('To SW System BATCH Transfer Queue')"|runmqsc $QmgrName1

#本地发送到对方的远程队列
#创建发送到对方端批量消息队列 #QREMOTE 创建远程队列   RNAME 远程队列管理器的一个本地队列名    RQMNAME远程队列管理器名字     XMITQ (INQUOTE.XMIT.QUEUE)。 
echo "create Queues :$BATCHIN"
echo "DEFINE QREMOTE('$BATCHIN') LIKE(SYSTEM.DEFAULT.REMOTE.QUEUE) RNAME('远程管理器的本地队列名称') RQMNAME($QmgrName) XMITQ($BATCHTRAN) DEFPSIST(YES)
DEFBIND(NOTFIXED) REPLACE DESCR('To SW System BATCH Queue')"|runmqsc $QmgrName1

#创建与对方进行通信的批量(发送方)消息通道 需要确定对方地址和本地地址 XMITQ 输入对应于通道接收方一端的队列管理器的传输队列的名称。
echo "create send message channel : $B1  "
echo "DEFINE CHANNEL($B1) CHLTYPE(SDR) CONNAME('IP地址(端口号)') LOCLADDR('本地ip') XMITQ('$BATCHTRAN') TRPTYPE(TCP) REPLACE MAXMSGL
(41943040) DISCINT(0) COMPMSG(ZLIBHIGH) HBINT(60) SHORTTMR(30) NPMSPEED(NORMAL) SSLPEER('CN=MQADMIN.*,O=XYZ,C=US') DESCR('To SW System BATCH Send Message Channel')"|runmqsc $QmgrName1

#创建与对方进行通信的批量(接收方)消息通道
echo "create receive message channel : $B1 "
echo "DEFINE CHANNEL($B1) CHLTYPE(RCVR) TRPTYPE(TCP) REPLACE MAXMSGL(41943040) COMPMSG(ZLIBHIGH) HBINT(60) NPMSPEED(NORMAL) SSLPEER('CN=MQADMIN.*,O=XYZ,C=US')
DESCR('From SW System BATCH receive Message Channel')"|runmqsc $QmgrName1

#创建和启动侦听器
echo "create and start Listener : $lisenerName"
echo "DEFINE LISTENER($lisenerName) TRPTYPE(TCP) PORT(本地监听端口) CONTROL(QMGR) REPLACE | runmqsc $QmgrName1 "
echo "START LISTENER($lisenerName)" | runmqsc $QmgrName1

把上面的脚本执行一次性成功的概率不大,会报一些语法错误,请记住传送队列通道名称是英文单引号,队列管理器名称开头定义好,后面的不需要改动;其他名称代用$符号的是自定义名称。

关于windows版本的配置和安装时傻瓜式的,大家可以先熟悉windows版的然后在安装linux或者Unix版,对于新手来说可以节省不少时间。。。

原文地址:https://www.cnblogs.com/chinawangpengfei/p/11028567.html