LINUX 下MQ的安装和配置

来源:互联网 发布:数据库开发培训学校 编辑:程序博客网 时间:2024/04/27 01:49

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

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

     假如你选定的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)
        以上就是基本的操作,对于更深入的东西,只能慢慢研究了,先写到这!

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mmkid/archive/2010/01/05/5137896.aspx