本文主要介绍MQ 7.0(64位)在SUSE Linux 10上面的安装与简单测试,所有操作在测试环境中验证通过,仅此记录。

一. 创建用户及用户组

       [root@localhost ~]# mkdir /var/mqm

       [root@localhost ~]# groupadd mqm

       [root@localhost ~]# useradd -g mqm -d /var/mqm mqm

       [root@localhost ~]# passwd mqm

       mqm的home目录也可以另外设置,建议把mqm的home目录设置为/var/mqm。

二. 创建MQ文件系统

       [root@localhost ~]# mkdir /opt/mqm

       [root@localhost ~]# mkdir -p /var/mqm/{log,errors,qmgrs}

       [root@localhost ~]# chown mqm:mqm /opt/mqm

       [root@localhost ~]# chown -R mqm:mqm /var/mqm

       建议将MQ软件安装在/opt/mqm目录下,业务数据则是存放在/var/mqm中    

三. 安装MQ

       如果是安装MQ服务器的话,最少需要安装Runtime和Server两个组件,其他的组件根据需要选择。

       安装MQ服务端需要以root用户登录,解压安装包(tar -xvf mqv7.0.tar)

       解压完成后进入解压目录运行以下命令:

       [root@localhost MQ7.0]# ./mqlicense.sh -text_only或(-accept)

        注:--test_only选项是作为测试使用,只有90天的试用期。而accept选项则需要购买license。

       MQ的其中一些组件彼此间有相互依存关系,安装的时候注意顺序,或者直接全部安装即可。

      1)执行rpm -ivh MQSeriesRuntime-7.0.1-3.x86_64.rpm,安装Runtime软件包

      2)执行rpm -ivh MQSeriesSDK-7.0.1-3.x86_64.rpm,安装MQSDK软件包

      3)执行rpm -ivh MQSeriesServer-7.0.1-3.x86_64.rpm,安装Server软件包

      4)执行rpm -ivh MQSeriesJRE-7.0.1-3.x86_64.rpm,安装MQJRE软件包

      5)执行rpm -ivh MQSeriesEclipseSDK33-7.0.1-3.x86_64.rpm,安装EclipseSDK软件包

      6)执行rpm -ivh MQSeriesJava-7.0.1-3.x86_64.rpm,安装Java软件包

      7)执行rpm -ivh MQSeriesConfig-7.0.1-3.x86_64.rpm,安装MQExplorer软件包

      8)执行rpm -ivh MQSeriesSamples-7.0.1-3.x86_64.rpm,安装Samples软件包

       可以使用命令查看你安装的组件的详情:

       [root@localhost ~]# rpm -qa | grep MQ


                 MQSeriesJava-7.0.1-3

                 MQSeriesServer-7.0.1-3

                 MQSeriesSDK-7.0.1-3

                 MQSeriesEclipseSDK33-7.0.1-3

                 MQSeriesConfig-7.0.1-3

                 MQSeriesRuntime-7.0.1-3

                 MQSeriesJRE-7.0.1-3

                 MQSeriesSamples-7.0.1-3

启动:

su - mqm

strmqm QM_KC2 (队列名)

runmqlsr -r -m QM_KC2(队列名) -t TCP


四. 给root赋予mqm权限

     如果需要以root身份执行MQ相关操作,就需要赋予root的mqm用户组的权限。执行如下命令:

     [root@localhost ~]# usermod -A mqm root

     注意:需要重新登录生效。

五. 补丁安装

     补丁可以直接在官网上下载。升级方式仍然是分组件升级,和7.0的安装一样,采用rpm -ivh MQSeries*.rpm 方式。全部升级之后,使用dspmqver命令查询当前版本号及补丁号。


# dspmqver

Name:        WebSphere MQ

Version:     7.0.1.3

CMVC level:  p701-103-100813

BuildType:   IKAP - (Production)


六. 验证安装

1. 用mqm帐号登录系统

2. 创建测试用队列管理器和队列

     crtmqm -q sunkm.queue.manager ##创建缺省队列

     strmqm ##后面不跟队列管理器的名称则启动缺省队列管理器

     runmqsc ##后面不跟队列管理器的名称则进入缺省队列管理器的控制台

     define qlocal (orange.queue)

     end

3. 用测试程序向队列orange.queue发送消息

    切换到/opt/mqm/samp/bin目录下

    ./amqsput ORANGE.QUEUE ##后面不跟队列管理器的名称则表示针对缺省队列管理器中的队列操作

     当屏幕输出“Sample AMQSPUT0 start

                 target queue is ORANGE.QUEUE”时,手工输入测试消息:

     this is a test

     输入完毕,连续按两次回车键,消息输入完毕。屏幕输出“Sample AMQSPUT0 end”表示成功发送消息。

4. 从队列中读取消息

     切换到/opt/mqm/samp/bin目录下

     ./amqsget ORANGE.QUEUE ##后面不跟队列管理器的名称则表示针对缺省队列管理器中的队列操作

     当屏幕输出“Sample AMQSGET0 start

                 message ”,停顿数秒屏幕继续输出

     “no more messages

     Sample AMQSGET0 end”,读取消息成功。

补充:

MQ的队列管理器的默认监听端口为1414,如果这个端口DOWN了,将影响消息的发送和传递。


端口用命令行启(可在多种系统下通用)的方式为:

mqm@server1:~> dspmq

QMNAME(sunkm.queue.manager)             STATUS(Running)

mqm@server1:~> runmqlsr -m sunkm.queue.manager -t tcp -p 1414

如果执行出错,可以用以下命令跟踪分析

mqm@server1:~>endmqtrc  -m  sunkm.queue.manager    -e   -a

跟踪一下

或者telnet  ip  1414

看端口启了没有



好了,就介绍到这里。