在Ubuntu上安装WebSphere MQ
1. Download WebSphere MQ6 tar.gz (WMQv6023Trial-x86_linux_2.tar.gz)
2. run tar -zxvf WMQv6023Trial-x86_linux_2.tar.gz
3. Create MQ user and group: groupadd mqm useradd -d /var/mqm -g mqm -G mqm mqm # change password to "mqm" passwd mqm
4. Add mqm to root group cd /etc vi group search mqm:x:1003:mqm then add ",root", -- : mqm:x:1003:mqm,root
5. Install rpm sudo apt-get install rpm
6. Switch to MQ folder, get WebSphere MQ license: sudo ./mqlicense.sh -text_only
7. Install WebSphere MQ client and server:
sudo rpm --nodeps -ivh MQSeriesRuntime-6.0.2-3.i386.rpm
sudo rpm --nodeps -ivh MQSeriesJava-6.0.2-3.i386.rpm
sudo rpm --nodeps -ivh MQSeriesClient-6.0.2-3.i386.rpm
sudo rpm --nodeps -ivh MQSeriesSamples-6.0.2-3.i386.rpm
sudo rpm --nodeps -ivh MQSeriesServer-6.0.2-3.i386.rpm
8. Verify installation rpm -qa | grep MQSeries MQSeriesJava-6.0.2-3 MQSeriesSamples-6.0.2-3 MQSeriesRuntime-6.0.2-3 MQSeriesClient-6.0.2-3 MQSeriesServer-6.0.2-3
9. Create default QManager and QManager
sudo -u mqm crtmqm -q QMgrName
sudo -u mqm strmqm
sudo -u mqm crtmqm QManagerD1
sudo -u mqm crtmqm QManagerD2
sudo -u mqm crtmqm QManagerD3
sudo -u mqm crtmqm QManagerD4
sudo -u mqm crtmqm QManagerD5
10. Start QManager, and create Queue sudo ./qq
11. Uninstall MQ(If MQ has expired, we need to uninstall MQ.) #To list the installed packages rpm -qa | grep MQSeries MQSeriesJava-6.0.2-3 MQSeriesSamples-6.0.2-3 MQSeriesRuntime-6.0.2-3 MQSeriesClient-6.0.2-3 MQSeriesServer-6.0.2-3 #To remove the packages one by one (There may have dependency when uninstall, just try to remove another first)
sudo rpm –e package_name
1: 创建队列管理器 crtmqm –q QMgrName
-q是指创建缺省的队列管理器 。
for example:
root@localhost:/apps# su mqm
$ crtmqm -q QMGR WebSphere MQ queue manager created. Directory '/var/mqm/qmgrs/QMGR' created. Creating or replacing default objects for QMGR. Default objects statistics : 65 created. 0 replaced. 0 failed. Completing setup. Setup completed.
2: 删除队列管理器 dltmqm QMgrName
3: 启动队列管理器 strmqm QmgrName
如果是启动默认的队列管理器,可以不带其名字
4: 停止队列管理器 endmqm QmgrName
受控停止 endmqm –i QmgrName
立即停止 endmqm –p QmgrName
强制停止
5: 显示队列管理器 dspmq –m QmgrName
如果输入dspmq,那么显示的是默认的队列管理器。
6: 运行MQSeries命令 runmqsc QmgrName
如果是默认队列管理器,可以不带其名字
7:往队列中放消息 amqsput QName QmgrName
如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 从队列中取出消息 amqsget QName QmgrName 如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字
8:启动通道 runmqchl –c ChlName –m QmgrName
启动侦听 runmqlsr –t TYPE –p PORT –m QMgrName
停止侦听 endmqlsr -m QmgrName 9:
定义死信队列 DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE
设定队列管理器的死信队列 ALTER QMGR DEADQ(QNAME)
定义本地队列 DEFINE QL(QNAME) REPLACE
定义别名队列 DEFINE QALIAS(QALIASNAME) TARGQ(QNAME)
远程队列定义 DEFINE QREMOTE(QRNAME) + RNAME(AAA) RQMNAME(QMGRNAME) + XMITQ(QTNAME)
定义模型队列 DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)
定义本地传输队列 DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) + INITQ(SYSTEM.CHANNEL.INITQ)+ PROCESS(PROCESSNAME) REPLACE
10:创建发送方通道 DEFINE CHANNEL(SDRNAME) CHLTYPE(SDR)+ CONNAME(‘100.100.100.215(1418)’) XMITQ(QTNAME) REPLACE
其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。
创建接收方通道 DEFINE CHANNEL(SDR_ TEST) CHLTYPE(RCVR) REPLACE
创建服务器连接通道 DEFINE CHANNEL(SVRCONNNAME) CHLTYPE(SVRCONN) REPLACE
显示队列的所有属性 DISPLAY QUEUE(QNAME) [ALL]
显示队列的所选属性 DISPLAY QUEUE(QNAME) DESCR GET PUT DISPLAY QUEUE(QNAME)MAXDEPTH CURDEPTH
显示队列管理器的所有属性 DISPLAY QMGR [ALL]
显示进程定义 DISPLAY PROCESS(PRONAME)
更改属性 ALTER QMGR DESCR(‘NEW DESCRIPTION’) ALTER QLOCAL(QNAME) PUT(DISABLED) ALTER QALIAS(QNAME) TARGQ(TARGQNAME)
删除队列 DELETE QLOCAL(QNAME) DELETE QREMOTE(QRNAME)
清除队列中的所有消息 CLEAR QLOCAL(QNAME)