MQ安装IBM MQ.docx
- 文档编号:9334563
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:28
- 大小:28.33KB
MQ安装IBM MQ.docx
《MQ安装IBM MQ.docx》由会员分享,可在线阅读,更多相关《MQ安装IBM MQ.docx(28页珍藏版)》请在冰点文库上搜索。
MQ安装IBMMQ
1.1.1、安装IBMMQ
注:
安装IBMMQ之前须确保1.2.4.中安装步骤已经完成,OpenLDAP已被正常安装。
1.1.1.1、MQServer的安装
安装前,检查/etc/system参数,是否有如下参数
setshmsys:
shminfo_shmmax=2147483648
*IBMWebSphereMQConfigure
setshmsys:
shminfo_shmseg=1024
setshmmin:
shminfo_shmmin=1
setshmsys:
shminfo_shmmni=1024
setsemsys:
seminfo_semmni=1024
setsemsys:
seminfo_semaem=16384
setsemsys:
seminfo_semvmx=32767
setsemsys:
seminfo_semmap=1026
setsemsys:
seminfo_semmns=16384
setsemsys:
seminfo_semmsl=1510
setsemsys:
seminfo_semopm=100
setsemsys:
seminfo_semmnu=2048
setsemsys:
seminfo_semume=256
setmsgsys:
msginfo_msgmni=50
setmsgsys:
msginfo_msgmap=1026
setmsgsys:
msginfo_msgmax=4096
setmsgsys:
msginfo_msgmnb=65535
注:
其中除了shminfo_shmmax(根据不同内存的大小作响应修改)外,其它均可不改,shminfo_shmmax为系统物理内存字节数,这里为2G物理内存的情况:
2048*1024*1024.
安装步骤
1.获得MQServer的Solaris版本安装包(MQ53Server_solaris.tar.gz),并将其解压,应能得到下列目录和文件:
lap
mqmmqm软件安装包
READMEs
licenses许可
silent默认安装方式
gsk6basgsk6bas安装包
mqlicense.sh许可证脚本
2.以root用户登录系统,创建“mqm”用户组,再创建“mqm”用户,并且使mqm用户组包含mqm用户,并且上传mqm用户的profile文件到mqm用户主目录;
#groupaddmqm
#useradd-gmqm-d/opt/mqm-m-s/bin/bashmqm
#vi/etc/group
把ipnet用户添加到mqm的组里。
例如:
root:
:
0:
root,ipnet
mqm:
:
101:
root,mqm,ipnet
注:
mqm的profile参考:
#sttyistrip
sttyerase'^H'
sttycs8-istripdefeucw
PATH=/usr/local/bin:
/usr/bin:
/usr/sbin:
/usr/ucb:
/etc:
/opt/mqm/bin:
.
exportPATH
MQM_HOME=/opt/mqm
exportMQM_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
exportCLASSPATH
LANG=zh
exportLANG
3.进入解压缩的目录,执行:
#mqlicense.sh-accept
之后选择1表示同意该协议。
4.执行:
#pkgadd-d./
出现以下提示:
1gsk6basCertificateandSSLBaseRuntime(gsk6bas)
(sparc)6.0.3.33
2mqmWebSphereMQforSUNSolaris
(sparc)5.3.0.2
选择你要执行的软件包(或选择'全部'执行所有的软件包).(default:
all)[?
?
?
q]:
键入all,选择安装全部。
5.在安装过程中,遇到提问,一律回答all或者yes,除了以下这个问题:
InstallMQMDCE?
[y,n,q]:
要回答n
6.完成MQServer安装;
安装完后,需要打MQServer5.3的最新CSD12补丁U803579.nogskit.tar.Z
解开后,运行下面的命令:
$pkgadd-dmqm-U803579.img.nogskit
补丁打好后,运行mqver,应显示如下信息:
Name:
WebSphereMQ
Version:
530.12CSD12
CMVClevel:
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-qtestmqm
将创建出预定义的队列管理器和许多预定义组件队列;
用如下命令启动刚才创建的队列管理器:
strmqmtestmqm
如果没有错误,则说明安装成功,停止并删除这个测试用的临时队列管理器:
endmqmtestmqm
dltmqmtestmqm
注:
如果crtmqm-qtestmqm出现以下错误
AMQ6109:
AninternalWebSphereMQerrorhasoccurred.
那么首先查看/etc/system的参数配置是否正确(可以重装mqm查看安装日志有没有输出建议修改系统内核参数的文本来确定修改哪个参数);再查看mqm的profile文件,profile里面的环境变量LANG不能设置为zh.GBK,可以修改设置为zh或者en。
1.1.1.2、MQServer的客户化
1.设置购买的处理器定量
$psrinfo
$setmqcap8
$dspmqcap
2.MQ的队列管理器客户化,移动软件包mq_script_4.0.tar中的initMQ目录到相应mqm目录下:
1.前期准备工作说明
需要已经安装好IBMWebSphereMQ,并建议打了最新的patch
2.运行用户要求
执行的用户属于mqm组,具有执行crtmqm,runmqsc等权限,建议用mqm用户初始化
3.init.conf配置说明
此配置文件主要是进行初始化配置;
mqm_home:
定义MQ的安装目录
qm_define_file:
定义队列管理器配置文件的路径
queue_define_file:
定义队列配置文件的路径
channel_define_file:
定义通道配置文件的路径
4.qm.conf配置说明
此配置文件定义需要创建的队列管理器名称和一些重要的基本属性;
每行配置一条记录,每个记录由好几个字段组成,字段之间用TAB键或空格分隔;
各个字段的含义如下:
第一列:
队列管理器的名称
第二列:
队列管理器的ccsid,一般P2P的队列管理器用1208,用于Pub/Sub的队列管理器用819
第三列:
定义这个队列管理器的死信队列名,这个死信队列需要在queue.conf里面定义
第四列:
这个队列管理器是否用于Pub/Sub,如果用于Pub/Sub,会创建用于Pub/Sub的系统初始化队列
5.queue.conf配置说明
此配置文件定义需要为各个队列管理器创建的队列名称和基本属性
每行配置一条记录,每个记录由好几个字段组成,字段之间用TAB键或空格分隔;
各个字段的含义如下:
第一列:
需要队列创建到哪个队列管理器
第二列:
需要创建的队列名称
第三列:
这个队列是否是持久化队列;建议一般的队列都用YES,这样重启队列管理器,队列里面的数据仍然保留
第四列:
这个队列管理器的最大深度;系统默认是5000,建议至少100000左右,某些特别的队列需要设置得更高
6.channel.conf配置说明
此配置文件定义需要创建的通道的一些基本属性
每行配置一条记录,每个记录由好几个字段组成,字段之间用TAB键或空格分隔;
各个字段的含义如下:
第一列:
这个通道所在队列管理器名称
第二列:
需要定义的通道名称
第三列:
通道类型,有以下几种通道类型:
SDR|SVR|RCVR|RQSTR|CLNTCONN|SVRCONN|CLUSSDR|CLUSRCVR
目前一般都使用SVRCONN,即服务器连接通道类型
7.脚本运行
修改好配置文件,直接敲入initMQ.sh即可开始初始化操作;
初始化的时候会提示确认:
AreyousuretoinitMQconfiguration?
[y/N]
输入y或者Y,回车,则开始根据配置文件进行MQ的初始化配置操作;
8.其它说明
关于MQ的具体操作见其它文档;
初始化后可以用dspmqm,runmqsc等命令查看配置是否符合要求,如果不符合要求可以重新初始化;
注:
此初始化不删除原先已经定义的队列管理器,不删除原先定义的队列,如果原先有相同名称的队列管理器/队列/通道则进行更新;
修改队列管理器的配置文件,优化MQServer:
vi/var/mqm/qmgrs/QM_BASE/qm.ini
vi/var/mqm/qmgrs/QM_DC/qm.ini
vi/var/mqm/qmgrs/QM_TOPIC/qm.ini
vi/var/mqm/qmgrs/QM_STOPE/qm.ini
vi/var/mqm/qmgrs/QM_WATCHDOG/qm.ini
增加下列内容:
Channels:
MQIBindType=FASTPATH
PipeLineLength=2
TuningParameters:
DefaultQBufferSize=128000#非永久性消息占用内存128Kb
DefaultQFileSize=1000000000#队列文件大小1Gb
Broker:
SyncPointIfPersistent=yes
修改日志定义部分:
LogFilePages=8192#日志文件大小32Mb
LogBufferPages=512#日志缓存大小2Mb
修改完后的配置文件一般如下:
bash-2.05$more/var/mqm/qmgrs/QM_TOPIC/qm.ini
#*******************************************************************#
#*ModuleName:
qm.ini*#
#*Type:
WebSphereMQqueuemanagerconfigurationfile*#
#Function:
Definetheconfigurationofasinglequeuemanager*#
#**#
#*******************************************************************#
#*Notes:
*#
#*1)Thisfiledefinestheconfigurationofthequeuemanager*#
#**#
#*******************************************************************#
ExitPath:
ExitsDefaultPath=/var/mqm/exits/
#**#
#**#
Log:
LogPrimaryFiles=3
LogSecondaryFiles=2
LogFilePages=8192
LogType=CIRCULAR
LogBufferPages=512
LogPath=/var/mqm/log/QM_BASE/
LogWriteIntegrity=TripleWrite
Service:
Name=AuthorizationService
EntryPoints=10
ServiceComponent:
Service=AuthorizationService
Name=MQSeries.UNIX.auth.service
Module=/opt/mqm/lib/amqzfu
ComponentDataSize=0
Channels:
MQIBindType=FASTPATH
PipeLineLength=2
MAXCHANNELS=9999
MAXACTIVECHANNELS=9999
TuningParameters:
DefaultQBufferSize=128000
DefaultQFileSize=1000000000
IPCCECSetSize=4000000
IPCCExtensionSize=128000
TransMemSetSize=4194304也有用524288
DefaultQMemSetSize=1500000
Broker:
SyncPointIfPersistent=yes
注:
QM_TOPIC、QM_PS_FM、QM_PS_CORE三个队列管理器,需要打开Broker功能;而QM_BASE/QM_DC/QM_STOPE/QM_WATCHDOG则不需要。
mqctl.shstopP_TD_QMmqmmqbrkmqlsr
mqctl.shstartP_TD_QMmqmmqbrkmqlsr
runmqlsr-p1414-mP_TD_QM-ttcp&
启动各个处理器:
$strmqmQM_BASE
$strmqmQM_DC
$strmqmQM_STOPE
$strmqmQM_WATCHDOG
$strmqmQM_TOPIC
3.查看各个处理器的运行情况:
$dspmq
QMNAME(QM_BASE)STATUS(正在运行)
QMNAME(QM_DC)STATUS(正在运行)
QMNAME(QM_STOPE)STATUS(正在运行)
QMNAME(QM_WATCHDOG)STATUS(正在运行)
QMNAME(QM_TOPIC)STATUS(正在运行)
4.队列建立完成后,启动队列管理器的监听服务:
runmqlsr-p21000-mQM_BASE-ttcp&
runmqlsr-p21001-mQM_DC-ttcp&
runmqlsr-p21002-mQM_STOPE-ttcp&
runmqlsr-p21003-mQM_WATCHDOG-ttcp&
runmqlsr-p21004-mQM_TOPIC-ttcp&
5.如果要重启机器,首先要stop掉队列管理器,命令如下:
$endmqmQM_BASE
$endmqmQM_DC
$endmqmQM_STOPE
$endmqmQM_WATCHDOG
$endmqmQM_TOPIC
$runmqscQM_PS_FM
alterQLOCAL(SYSTEM.JMS.ND.SUBSCRIBER.QUEUE)MAXDEPTH(2000000)
end
注意,每个队列的MAXDEPTH都改为500000,不然可能会引起数据的丢失。
如果队列已经创建,并且MAXDEPTH是缺省的5000,那么用下面的命令更改MAXDEPTH属性:
alterqlocal(Q_TO_SCM_GROUP1)MAXDEPTH(500000)
alterqlocal(SYSTEM.JMS.ND.SUBSCRIBER.QUEUE)MAXDEPTH(2000000)
displayqlocal(Q_TO_SCM_GROUP1)来查看队列的属性
alterchannel(channel1)CHLTYPE(SVRCONN)SSLCAUTH(OPTIONAL)
refreshsecurity来使更改生效。
runmqscQM_DC
alterchl(CHANNEL1)CHLTYPE(SVRCONN)MCAUSER('mqm')
如果不清楚建了哪些队列名,可以进入该队列管理器里,用下面的命令查看
displayqlocal(*)
displaychannel(channel1)显示channel1的详细信息。
displayqmgrall可以查看CCSID是否为1208
清除一个队列里的消息,清除前先要停掉相关的程序:
$runmqscQM_DC
clearqlocal(Q_RMPROBE_TO_RM_DA)
end
注:
对于有EOMS派单系统的,还应建一个QM_EMIP_IPNET队列管理器。
$crtmqmQM_EMIP_IPNET
$strmqmQM_EMIP_IPNET
$runmqscQM_EMIP_IPNET
defineqlocal(Q_EMIP_TO_IPNET)MAXDEPTH(500000)
defineqlocal(Q_IPNET_TO_EMIP)MAXDEPTH(500000)
end
$runmqlsr-p1818-mQM_EMIP_IPNET-ttcp&
1.1.1.3、JMS插件的客户化
1.修改/opt/mqm/java/bin/JMSAdmin.config文件
PROVIDER_URL=ldap:
//polaris/o=ibm,c=us
改为
PROVIDER_URL=ldap:
//10.243.163.106:
6389/ou=JMS,dc=eastcom-ca,dc=com
其中10.243.163.106是安装LDAP的服务器地址(根据实际情况修改调整);
SECURITY_AUTHENTICATION=none
改为
SECURITY_AUTHENTICATION=simple
#PROVIDER_USERDN=cn=Manager,o=ibm,c=uk
#PROVIDER_PASSWORD=secret
去掉注释,改为:
(用户为haha,密码为hello,都是基础配置,建议不要修改)
PROVIDER_USERDN=cn=haha,ou=users,ou=handler,dc=eastcom-ca,dc=com
PROVIDER_PASSWORD=hello
2.启动JMSAdmin测试JMS是否配置正确
$cd/opt/mqm/java/bin
$JMSAdmin
5648-C60,5724-B41,5655-F10(c)CopyrightIBMCorp.2002.AllRightsReserved.
正在启动WebsphereMQclassesforJava(tm)MessageService管理
InitCtx>
如果出现以下提示:
5648-C60,5724-B41,5655-F10(c)CopyrightIBMCorp.2002.AllRightsReserved.
正在启动WebsphereMQclassesforJava(tm)MessageService管理
JNDI初始化失败,请检查您的JNDI设置和服务
那么应该是LDAP服务没有启动,用ipnet用户运行/usr/local/libexec/runldap.sh来启动LDAP服务;
3.在IniCtx>提示符下面敲入以下命令测试:
IniCtx>displayTCF(testTCF)
如果显示testTCF的定义,那么敲入以下命令
IniCtx>deleteTCF(testTCF)
如果提示“绑定不可管理或未找到”,那么继续
IniCtx>defTCF(testTCF)HOST(192.168.1.113)PORT(21004)QMGR(QM_TOPIC)CHANNEL(CHANNEL1)TRAN(CLIENT)CCS(819)SS(QUEUE)BVER(V1)
其中10.1.6.27是MQServer所在的地址;如果没有错误提示,则表示JMS配置成功,可以用displayTCF(testTCF)查看刚才定义的TCF;
查看所有的jms信息:
InitCtx>disctx
用ctrl+c退出InitCtx>
注:
如果提示错误“无法绑定对象”,那么请用JXplorer登陆确认在eastcom-ca节点下面是否存在“jms”节点,如果没有请导入正确版本的ldap-base.ldif,或者手工建立这个节点;
附:
defineTCF的语法:
defTCF(tcf_name)HOST(mq_server_ip)PORT(qm_port_num)QMGR(qm_name)CHANNEL(channel_name)TRAN(CLIENT)CCS(819)SS(QUEUE)BVER(V1)
end
1)假如ldap方式成功后,可以利用ldap方式建立相应的TCF/QCF/T/Q,具体请见【JNDI客户化】
1.1.1.4、JNDI客户化
MQJNDI客户化,移动软件包mq_script_4.0.tar中的initJNDI目录到相应mqm目录下:
1.前期准备工作说明
1)安装好IBMWebSphereMQ,并加装了CSD08以上的supportPac(CSD08及以上版本集成了JMSPub/Sub功能);
2)配置好JNDI环境,可以用LDAP或MQ自带的队列管理器作JNDI;
3)修改好JMSAdmin.config文件,用JMSAdmin测试可以正常进入JNDI配置页面;
2.运行用户要求
执行的用户属于mqm组,具有执行JMSAdmin权限,建议用mqm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MQ安装IBM MQ 安装 IBM