感谢支持
我们一直在努力

在SUSE Linux Enterprise 10 下安装IBM MQ

由于工作有需要和第三方MQ通信,因为以前没有整过MQ,所以对于我来说很陌生。在网上也查看了一些经验,再加上个人的实践,小总结如下:


MQ的安装包是ISO,所以需要将ISO文件mount到Linux Enterprise 10 的一个目录下面,具体操作如下:


假如你选定的mount目录为根目录下mnt/下面,或者下面你新建一个目录可以mkdir一个目录。我是直接放在mnt目录下面的:


ISO文件放在/home/afe/MQinstall/下面,名字为MQ_6.0_Linux_x86-64.iso 那么可以用命令:


mount -o loop /home/afe/MQinstall/MQ_6.0_Linux_x86-64.iso    /mnt/cd1


这个时候,ISO文件中的rpm文件都出现在了/mnt下面。


备注:使用mount需要root权限。


如果你的安装包是.tar.gz文件,那就可以省略以上一个步骤:直接解压


tar -zxvf    MQ_6.0_Linux_x86-64.tar.gz


接下来步骤如下:


1:创建WebSphere MQ 必需的文件系统,命令如下:


mkdir /opt/mqm # for product code


mkdir /var/mqm # for working data


我从网上看到说MQ安装时候默认的目录就是这两个,意思可以没必要建,但是为了保险还是自己手工建立一下哈。


2:创造MQ用户和用户组,命令如下:


groupadd mqm


useradd -d /var/mqm -g mqm -G mqm mqm


passwd mqm # change password to “password”


只有把mqm密码改了,才能使以上生效。


3:为mqm用户组添加root组


cd /etc


vi group


修改 mqm:!:1007:mqm ? mqm:!:1007:mqm,root


这里的gid要依据各个系统的建立用户设定而为。我的是1007


4: 调整系统参数(视需要而定)


修改最大共享内存,命令如下:


cat /proc/sys/kernel/shmmax


echo 268435456 >/proc/sys/kernel/shmmax


修改最大文件句柄,命令如下:


cat /proc/sys/fs/file-max


echo 32768 >/proc/sys/fs/file-max


如果自己系统比这个大,没必要改。


5:转到WebSphere MQ解压后的目录中,获得WebSphere MQ授权,命令如下:


./mqlicense.sh -text_only


阅读全文后,选择1接受授权。


6:安装WebSphere MQ客户端和服务端,命令如下:


rpm -ivh MQSeriesRuntime-6.0.0-0.i386.rpm


rpm -ivh MQSeriesSDK-6.0.0-0.i386.rpm


rpm -ivh MQSeriesJava-6.0.0-0.i386.rpm


rpm -ivh MQSeriesClient-6.0.0-0.i386.rpm


rpm -ivh MQSeriesSamples-6.0.0-0.i386.rpm


rpm -ivh MQSeriesServer-6.0.0-0.i386.rpm(如果只装客户端,这个没必要安装)


7:安装校验


rpm -qa | grep MQSeries


结果如下则表明MQ 客户端的安装已成功。


MQSeriesRuntime-6.0.0-0


MQSeriesSDK-6.0.0-0


MQSeriesJava-6.0.0-0


MQSeriesClient-6.0.0-0


MQSeriesSamples-6.0.0-0


MQSeriesServer-6.0.0-0(只装客户端,是没有这一项的)


到这里MQ就已经安装完成了,其实MQ的安装摸索一下就会了,关键是MQ的配置。

下面简要说明一下MQ的配置操作:


安装完MQ,程序本身会把/opt/mqm/bin/目录下面的一些程序链接到/usr/bin/下面,例如crtmqm,runmqsc等等,这些命令只有安装了服务端才有。


1:  创建队列管理器


crtmqm –q QMgrName


-q是指创建缺省的队列管理器 。


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)


以上就是基本的操作,对于更深入的东西,只能慢慢研究了,先写到这!

赞(0) 打赏
转载请注明出处:服务器评测 » 在SUSE Linux Enterprise 10 下安装IBM MQ
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏