感谢支持
我们一直在努力

Linux下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就已经安装完成了。


验证安装


1、mqm用户登录


创建队列venus.queue.manager


crtmqm -q venus.queue.manager


启动队列管理器


       strmqm


启用MQSC命令


runmqsc


进入环境后,定义名为ORANGE.QUEUE的本地队列


define qlocal (orange.queue)


end (停止MQSC)


转到/opt/mqm/samp/bin目录下,使用amqsput样本程序来将消息放入队列,以且使用amqsget样本程序来从队列取回消息


dspmq 命令可显示MQM队列状态


./amqsput ORANGE.QUEUE


(注意,队列名称为大写!否则会找不到队列,报错MQOPEN ended with reason code 2085)


输入一行文字,然后以空行结束,退出


      ./amqsget ORANGE.QUEUE


可显示刚才放入队列的消息,成功提示即证明完成。

MQ的基本操作


创建队列管理器
crtmqm –q QMgrName
-q是指创建缺省的队列管理器 


删除队列管理器
dltmqm QmgrName 


启动队列管理器
strmqm QmgrName
如果是启动默认的队列管理器,可以不带其名字 


停止队列管理器
endmqm QmgrName 受控停止


endmqm –i QmgrName 立即停止


endmqm –p QmgrName 强制停止 


显示队列管理器
dspmq –m QmgrName 


运行MQ命令
runmqsc QmgrName
如果是默认队列管理器,可以不带其名字 


往队列中放消息
amqsput QName QmgrName
如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 


从队列中取出消息
amqsget QName QmgrName
如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字 


启动通道
runmqchl –c ChlName –m QmgrName


服务器通道不用启动 


启动侦听
runmqlsr –t TYPE –p PORT –m QMgrName 


停止侦听
endmqlsr -m QmgrName 


下面是在MQ环境中可以执行的MQ命令(即在runmqsc环境下可以敲的命令)


定义持久信队列
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


创建进程定义
DEFINE PROCESS(PRONAME) +
DESCR(‘STRING’)+
APPLTYPE(WINDOWSNT)+
APPLICID(’ runmqchl -c SDR_TEST -m QM_ TEST’)
其中APPLTYPE的值可以是:CICS、UNIX、WINDOWS、WINDOWSNT等


创建发送方通道
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)


查看CCSID


DISPLAY QMGR CCSID


修改CCSID为1381
ALTER QMGR CCSID(1381)



以下是一些高级配置的命令:


amqmcert                   配置SSL证书


amqmdain                 配置windows上的MQ服务


crtmqcvx                     转换数据


dmpmqaut                 转储对象权限管理


dmpmqlog                 转储日志管理


dspmq                          显示队列管理器


dspmqaut                   显示打开对象的权限


dmpmqcap                显示处理程序容量和处理程序数


dspmqcsv                  显示命令服务器状态


dspmqfls                    显示文件名


dspmqtrc                    跟踪MQ输出(HP-UNIX LINUX Solaris)


dspmqrtn                    显示事务的详细信息


endmqcsv                  停止队列管理器上的命令服务器


strmqcsv                     启动队列管理器上的命令服务器


endmqtrc                    停止跟踪


rcdmqimg                   向日志写对象的映像


rcmqobj                       根据日志中的映像重新创建一个对象


rsvmqtrn                      提交或逆序恢复事务

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

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

支付宝扫一扫打赏

微信扫一扫打赏