【IT168 技术】 1 概述
WebSphere MQ支持的UNIX平台有AIX、Linux、Solaris和HP-UX。由于篇幅有限,本文主要对AIX和HP-UX平台的安装步骤进行描述。另外HP-UX平台有PA-RISC平台和IA64平台,目前IA64平台比较流行,所以本篇文章仅以HP-UX IA64平台上安装Websphere MQ 6.0为例,结合个人项目经验,详细描述产品安装和配置的全过程,并针对在HP-UX 11.31平台上的安装注意事项进行了重点说明。
安装 WebSphere MQ之前,建议做如下准备:
? 检查硬件和软件需求
? 创建WebSphere MQ 文件系统
? 创建mqm组和用户
在安装过程中分为安装准备,调整核心参数(针对HP-UX),安装软件,安装补丁,版本验证。
软件安装完成后进行配置MQ,然后根据项目需要继续完成高可用性模式配置。
2 安装环境
在安装前要检查机器的硬件配置及操作系统是否达到相关要求,否则可能引起安装失败。WebSphere MQ对于机器的环境要求并不高,普通的PC机都可以安装。如果需要有网络通信,则需要有相应的网卡并进行通信配置,比如IP地址。对于单机环境,可以用自环方式配置通信,比如配置虚拟Loopback网卡。
针对操作系统,建议登陆IBM的官方网站确认最新的需求信息,如下链接:
http://www-01.ibm.com/software/integration/wmq/requirements/index.html
在一个项目中笔者在安装MQ v6.0 for HP 11.31的时候只参考安装手册,所以安装无法继续,后来通过查看官方网站的最新系统需求和注意事项,问题得以解决,所以建议详细阅读有关的Note。例如针对MQ v6.0 for HP 11.31的安装系统需求如下URL。
http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg27006792
最近一次在安装MQ v6.0 for Linux Suse v10的遇到了安装成功,但后来无法创建队列管理器问题,后来通过查看如下链接,安装了MQ v6.0 for Linux Suse v10
2.1 硬件需求
? IBM:
WebSphere MQ for AIX,Version 6.0可以运行在任何支持AIX5L V5.2或者AIX 5L V5.3的操作系统并能运行64 bit程序的IBM或其他厂商的服务器。
? HP:
WebSphere MQ for HP-UX,Version 6.0可以运行在任何Intel IA64(IPF) V2以上版本的机器。
2.2 操作系统
支持HP-UX版本:
? HP-UX 11i V2 (11.23) for IPF
? HP-UX 11i V3 for IPF
支持AIX版本:
? AIX5L V5.2 (Plus ML3)
? AIX V5.3
2.3 通讯协议
? TCPIP
? SNA LU6.2
2.4 软件安装空间需求
在HP-UX上软件安装在/opt目录下,需要的空间如下
软件组件 空间大小(MB)
WebSphere MQ Server Installation 325
IBM Global Security Kit V7(64-bit) 14
在AIX上软件安装在/usr目录下,需要的空间如下
软件组件 空间大小(MB)
WebSphere MQ Server Installation 325
3 WebSphere MQ安装步骤 3.1 准备工作 3.1.1 创建组和用户
WebSphere MQ产品安装时,需要创建一个mqm组和一个mqm用户,要求mqm用户的主组是mqm。为了方便系统管理,建议创建mqm组和mqm用户时,自定义组ID和用户ID。如果是在高可用环境下,两台服务器创建的mqm组和mqm用户的ID必须要一样。
*注意:建议将root 用户增加到 mqm 组中。
组
组名 组ID 用户
mqm 405 root,mqm
用户
用户名 组ID 主组 组集 主目录 管理员用户
mqm 406 mqm mqm /home/mqm false
3.1.1.1 AIX平台
建议使用如下命令创建mqm组和mqm用户。
mkuser id=406 pgrp=mqm groups=mqm home=/home/mqm mqm
3.1.1.2 HP-UX平台
建议使用如下命令创建mqm组和mqm用户。
? 创建mqm组
或者用SAM工具.
? 创建mqm用户
或者用SAM工具,增加mqm 到 Group SET 中。
3.1.2 创建文件系统
如果MQ环境是单机环境则在本地磁盘创建如下文件系统即可;如果需要做成高可用环境,那么需要在共享磁盘上创建一个共享vg,例如vgmq,本文以创建在vgmq为例。
3.1.2.1 AIX平台
WebSphere MQ产品的安装目录是/usr/mqm,工作目录是/var/mqm,安装目录和工作目录不允许修改。GSkit 必须安装在缺省位置。
在AIX平台的vgmq创建如下lv和文件系统
卷组 设备名 大小 文件系统 属主
vgmq /dev/mqmlv 1024M /var/mqm mqm:mqm
vgmq /dev/mqmloglv 1024M /var/mqm/log mqm:mqm
mklv -y mqmlv -t jfs2 vgmq 1G
crfs -v jfs2 -d /dev/mqmlv -m /var/mqm -A yes
mount /var/mqm
mklv -y mqmloglv -t jfs2 vgmq 1G
crfs -v jfs2 -d /dev/mqmloglv -m /var/mqm/log -A yes
mount /var/mqm/log
3.1.2.2 HP-UX平台
WebSphere MQ产品的安装目录是/opt/mqm,工作目录是/var/mqm,安装目录和工作目录不允许修改。GSkit 必须安装在缺省位置。
在HP-UX平台的vgmq创建如下lv和文件系统
卷组 设备名 大小 文件系统 属主
vgmq /dev/vgmq/lvmqm 1024M /var/mqm mqm:mqm
vgmq /dev/vgmq/lvmqmlog 1024M /var/mqm/log mqm:mqm
命令参考如下:
/sbin/mkdir -p -m u=rwx,g=rx,o=rx /var/mqm
/usr/sbin/mkfs -F vxfs /dev/vg00/rlvmqm
/usr/sbin/mount -F vxfs -e /dev/vg00/lvmqm /var/mqm
lvcreate -L 1024 -n lvmqm /dev/vgmq
/sbin/mkdir -p -m u=rwx,g=rx,o=rx /var/mqm/log
/usr/sbin/mkfs -F vxfs /dev/vg00/rlvmqmlog
/usr/sbin/mount -F vxfs -e /dev/vg00/lvmqmlog /var/mqm/log
3.2 安装WebSphere MQ for AIX 3.2.1 安装准备
使用如下命令:
确认下列文件系统已经被mount上:
/var/mqm和/var/mqm/log
3.2.2 安装软件
把WebSphere MQ 6.0 for AIX的介质ftp到服务器上的一个临时目录,例如/tmp/mqm,然后开始安装。如果是tar.Z文件,先用uncompress解压缩Z文件,然后用tar xvf命令节压缩tar文件,使用root用户执行安装。
单击列出以显示软件的输入设备或目录,选择包含安装映像的位置。
使用要安装的软件字段以获取可用文件集的列表,然后选择要安装的文件集。
mqm.base
mqm.client
mqm.server
mqm.man.en_US.data
mqm.java
修改ACCEPT new license agreements? Yes。
3.2.3 安装补丁
首先将安装包6.0.1-WS-MQ-AixPPC64-FP0001.tar解包,然后安装
#cd 6.0.1-WS-MQ-AixPPC64-FP0001
#smitty update_all
3.3 安装WebSphere MQ for HP-UX 3.3.1 安装准备
使用如下命令:
确认下列文件系统已经被mount上:
/var/mqm和/var/mqm/log
3.3.2 调整核心参数
WebSphere MQ使用了semaphores和Shared memory,缺省kernel配置是不足够的,在安装之前需要根据服务器的配置情况增大相应的参数值,下表中为WebSphere MQ推荐的最小配置值。
shmmax 536870912
shmseg 1024
shmmni 1024
semaem 16384
semvmx 32767
semmns 16384
semmni 1024 (semmni < semmns)
semmnu 16384
semume 256
max_thread_proc 66
maxfiles 10000
maxfiles_lim 10000
nfile 10000
注意:核心参数修该完毕后,需要重新启动服务器。
3.3.3 安装软件
把WebSphere MQ 6.0 for HP的介质ftp到服务器上的一个临时目录,例如/tmp/mqm,然后使用root用户开始安装。
? 首先执行/tmp/mqm/mqlicense.sh,接受license许可,或者执行/tmp/mqm/mqlicense.sh -accept.
? 如果是HP-UX11.23平台,则可以使用如下方法安装:
使用空格键选中需要安装的软件,然后在Action菜单中选择Mark for install到上一层菜单中,在Action菜单中选择Install(analysis),选Ok开始安装。
? 如果是在Itanium 的HP-UX11.31平台,需要使用’-x allow_incompatible=true’参数:
如果安装WebSphere MQ组件,选择MQSERIES,然后把光标从Actions移到Install。在安装日志中将看到关于MQ是不兼容的警告信息,请忽略然后选择OK进行安装。
安装完成后,你会发现不能使用MQ命令,这时需要运行如下命令:
3.3.4 安装补丁
#tar xvf 6.0.2-WS-MQ-HpuxIA64-FP0005.tar.Z
使用swinstall进行补丁安装。
注意:
如果是HP 11.31平台则需要如下方法进行安装:
使用swinstall安装MQ6.0.1 GA
然后运行如下命令:
使用swinstall升级到MQ 6.0.1.1。
使用swinstall升级到MQ6.0.2.3。
3.4 验证WebSpere MQ版本
使用如下命令验证WebSphere MQ产品版本,使用mqm用户登录,然后执行dspmqver命令:
#su - mqm
$dspmqver
4 WebSphere MQ配置步骤
在WebSphere MQ的配置过程中,我们使用控制命令(control command)来创建、启动、停止和删除队列管理器。而创建MQ的侦听程序、队列、通道和进程等对象则需要使用MQSC命令。
建议参考《System Administration Guide》和《Script (MQSC) Command Reference》文档。
4.1 创建队列管理器
使用mqm用户登录执行命令:crtmqm -lc -lf 16384 –lp 2 –ls 1 -q QMTEST
其中:lf 表示日志文件大小,单位: 页(4K);
lp表示主日志的数目;
ls表示从日志的数目;
q 表示缺省队列管理器;
QMTEST表示队列管理器名。
4.2 配置MQ监听端口
在文件/etc/services增加如下行(确保1414/tcp尚未被其它应用所占用)。
MQSeries 1414/tcp #for MQ Listener
使用MQSC命令定义侦听程序,例如:
def listener(ltcp) trptype(tcp) control(QMGR) port(1415) replace
注:在AIX平台还可以在/etc/inetd.conf文件中增加如下行来创建MQ的侦听程序。在WebSphere MQ6.0以后版本,我们推荐采用MQSC命令(DEF LISTENER)来创建侦听程序。
MQSeries stream tcp nowait root /opt/mqm/bin/amqcrsta amqcrsta -m QMTEST
4.3 MQ的启动与关闭
停止队列管理器:
endmqm QMTEST
启动队列管理器:
strmqm QMTEST
显示队列管理器状态:
dspmq 显示现有的各个qm的状态
4.4 定义MQ对象
创建队列管理器后,需要在队列管理器里面创建队列通道等对象,我们可以使用MQSC命令创建MQ对象,如下列表所示:
*本地死信队列
def ql(DEADQ) defpsist(yes) maxdepth(20000) replace
*定义接收队列
def ql(XX) defpsist(yes) maxdepth(20000) replace
*设置队列管理器属性
alter qmgr deadq(deadq)
alter qmgr ccsid(819)
*定义传输队列
def ql(TO.QMB) usage(XMITQ) defpsist(YES) maxdepth(500000) trigger trigtype(FIRST) trigdata(QMA.QMB) initq(SYSTEM.CHANNEL.INITQ) replace
*定义远程队列
def qr(QRB) rname(QLB) rqmname(QMB) xmitq(TO.QMB) defpsist(yes) replace
*定义发送通道
def chl(QMA.QMB) chltype(SDR) discint(1800) conname('192.168.2.1(1414)') xmitq(TO.QMB) trptype(tcp) shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(50) replace
*接收通道
def chl(QMB.QMA) chltype(rcvr) trptype(tcp)
使用MQSC命令编写队列管理管理器中所需的对象,然后保存文件,例如crtobj.tst。
然后使用如下命令创建对象,确保队列管理器已经启动,并用mqm用户登录执行:
$runmqsc QMTEST crtobj.log
执行完毕,请检查crtobj.log日志文件,确保没有任何错误信息。
推荐参看上期《WebSphere 中国》的“WebSphere MQ消息通道的配置和维护介绍”中的“附录:MQ对象配置参考”。
5 配置高可用性模式
如果需要把队列管理器配置成高可用模式,有如下注意事项:
1) 在共享卷组(vgmq)中创建/var/mqm和/var/mqm/log文件系统,
2) 在两台服务器上都需要创建mqm组和mqm用户,并且在两台服务器的组ID和用户ID都需要相同。
3) 在两台服务器上都需要安装WebSphere MQ软件。