1.1.1、 安装IBM MQ
注:安装 IBM MQ之前须确保1.2.4.中安装步骤已经完成,OpenLDAP已被正常安装。
1.1.1.1、 MQ Server的安装
安装前,检查/etc/system参数,是否有如下参数
t shmsys:shminfo_shmmax= 2147483648
*IBM WebSphere MQ Configure
t shmsys:shminfo_shmg=1024
孩子天
t shmmin:shminfo_shmmin=1
t shmsys:shminfo_shmmni=1024
t msys:minfo_mmni=1024
细胞核结构t msys:minfo_maem=16384
t msys:minfo_mvmx=32767
t msys:minfo_mmap=1026
t msys:minfo_mmns=16384
t msys:minfo_mmsl=1510
t msys:minfo_mopm=100
t msys:minfo_mmnu=2048
t msys:minfo_mume=256
差一点六斤打一字t msgsys:msginfo_msgmni=50
t msgsys:msginfo_msgmap=1026
t msgsys:msginfo_msgmax=4096
t msgsys:msginfo_msgmnb=65535
注:其中除了shminfo_shmmax(根据不同内存的大小作响应修改)外,其它均可不改,shminfo_shmmax为系统物理内存字节数,这里为2G物理内存的情况:2048*1024*1024.
安装步骤
1. 获得MQ Server的Solaris版本安装包(MQ53Server_),并将其解压,应能得到下列目录和文件:
lap
mqm mqm软件安装包
READMEs
licens 许可
silent 默认安装方式
gsk6bas gsk6bas安装包
mqlicen.sh 许可证脚本
2. 以root用户登录系统,创建“mqm”用户组,再创建“mqm”用户,并且使mqm用户组包含mqm用户,并且上传mqm用户的profile文件到mqm用户主目录;
# groupadd mqm
# uradd -g mqm -d /opt/mqm -m -s /bin/bash mqm
# vi /etc/group
把ipnet用户添加到mqm的组里。
例如:
root::0:root,ipnet
mqm::101:root,mqm,ipnet
注:mqm的profile参考:
#stty istrip
stty era '^H'
stty cs8 -istrip defeucw
PATH=/usr/local/bin:/usr/bin:/usr/sbin:/usr/ucb:/etc:/opt/mqm/bin:.
export PATH
MQM_HOME=/opt/mqm
export MQM_HOME
CLASSPATH=$MQM_HOME/java/lib/com.ibm.mq.jar:$MQM_HOME/java/lib/com.ibm.mqbind.jar:$MQM_HOME/java/lib/com.ibm.mqjms.jar:$MQM_HOME/java/lib/jms.jar:$MQM_HOME/java/lib/jms.jar:$MQM_HOME/java/lib/jndi.jar:$MQM_HOME/java/lib/jta.jar:$MQM_HOME/java/lib/ldap.jar:$MQM_HOME/java/lib/connector.jar:$MQM_HOME/java/lib/fscontext.jar:$MQM_HOME/java/lib/postcard.jar:$MQM_HOME/java/lib/providerutil.jar:$CLASSPATH
export CLASSPATH
LANG=zh
export LANG
3. 进入解压缩的目录,执行:
# mqlicen.sh -accept
之后选择1表示同意该协议。
4.执行:
# pkgadd -d ./
出现以下提示:
1 gsk6bas Certificate and SSL Ba Runtime (gsk6bas)
(sparc) 6.0.3.33
2 mqm WebSphere MQ for SUN Solaris
(sparc) 5.3.0.2
选择你要执行的软件包(或选择'全部'执行所有的软件包). (default: all) [?,??,q]:
键入all,选择安装全部。
5. 在安装过程中,遇到提问,一律回答all或者yes,除了以下这个问题:
Install MQM DCE? [y,n,q] :
要回答n
6. 完成MQ Server安装;
安装完后,需要打MQServer 5.3的最新CSD12补丁skit.tar.Z
解开后,运行下面的命令:
$pkgadd -d skit
补丁打好后,运行mqver,应显示如下信息:
Name: WebSphere MQ
Version: 530.12 CSD12
CMVC level: p530-12-L051208
BuildType: IKAP - (Production)
Mq装好后,检查是否有下列文件:
/usr/lib/locale/zh/LC_MESSAGES/amq.cat
没有的话,将导致mq的错误日志很多。
7. 将当前用户mqm加入mqm组,并重新登录;
8. MQ的命令文件都在/opt/mqm/bin铁棍山药怎么做好吃下;执行如下步骤验证安装:
crtmqm -q testmqm
将创建出预定义的队列管理器和许多预定义组件队列;
用如下命令启动刚才创建的队列管理器:
strmqm testmqm
如果没有错误,则说明安装成功,停止并删除这个测试用的临时队列管理器:
endmqm testmqm
dltmqm testmqm
注:如果crtmqm -q testmqm出现以下错误
AMQ6109: An internal WebSphere MQ error has occurred.
那么首先查看/etc/system的参数配置是否正确(可以重装mqm查看安装日志有没有输出建议修改系统内核参数的文本来确定修改哪个参数);再查看mqm的profile文件,profile里面的环境变量LANG不能设置为zh.GBK,可以修改设置为zh或者en。
1.1.1.2、 MQ Server的客户化
1.设置购买的处理器定量
$ psrinfo
$ tmqcap 8
$ dspmqcap
2.MQ的队列管理器客户化,移动软件包mq_script_4.0.tar中的initMQ目录到相应mqm目录下:
1. 前期准备工作说明
需要已经安装好IBM WebSphere MQ, 并建议打了最新的patch
2. 运行用户要求
执行的用户属于mqm组,具有执行crtmqm,runmqsc等权限,建议用mqm用户初始化
3. f配置说明
此配置文件主要是进行初始化配置;
mqm_home: 定义MQ的安装目录
qm_define_file: 定义队列管理器配置文件的路径
queue_define_file: 定义队列配置文件的路径
channel_define_file: 定义通道配置文件的路径
4. qm.conf配置说明
此配置文件定义需要创建的队列管理器名称和一些重要的基本属性;
每行配置一条记录韩信点兵什么意思,每个记录由好几个字段组成,字段之间用TAB键或空格分隔;
各个字段的含义如下:
第一列: 队列管理器的名称
第二列: 队列管理器的ccsid,一般P2P的队列管理器用1208,用于Pub/Sub的队列管理器用819
第三列: 定义这个队列管理器的死信队列名,这个死信队列需要在f里面定义
第四列: 这个队列管理器是否用于Pub/Sub,如果用于Pub/Sub,会创建用于Pub/Sub的系统初始化队列
5. f配置说明
此配置文件定义需要为各个队列管理器创建的队列名称和基本属性
每行配置一条记录初三祝福,每个记录由好几个字段组成,字段之间用TAB键或空格分隔;
各个字段的含义如下:
第一列广东联通宽带: 需要队列创建到哪个队列管理器
第二列: 赖淑芳需要创建的队列名称
第三列: 这个队列是否是持久化队列;建议一般的队列都用YES,这样重启队列管理器,队列里面的数据仍然保留
第四列: 这个队列管理器的最大深度;系统默认是5000,建议至少100000左右,某些特别的队列需要设置得更高
6. f配置说明
此配置文件定义需要创建的通道的一些基本属性
每行配置一条记录,每个记录由好几个字段组成,字段之间用TAB键或空格分隔;
各个字段的含义如下:
第一列: 这个通道所在队列管理器名称
第二列: 需要定义的通道名称
第三列: 通道类型,有以下几种通道类型: SDR | SVR | RCVR | RQSTR | CLNTCONN | SVRCONN | CLUSSDR | CLUSRCVR
目前一般都使用SVRCONN, 即服务器连接通道类型
7. 脚本运行
修改好配置文件,直接敲入initMQ.sh即可开始初始化操作;
初始化的时候会提示确认:
Are you sure to init MQ configuration?[y/N]
输入y或者Y,回车,则开始根据配置文件进行MQ的初始化配置操作;
8. 其它说明
关于MQ的具体操作见其它文档;
初始化后可以用dspmqm,runmqsc等命令查看配置是否符合要求,如果不符合要求可以重新初始化;
注: 此初始化不删除原先已经定义的队列管理器,不删除原先定义的队列,如果原先有相同名称的队列管理器/队列/通道则进行更新;