版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Websphere系统软件配置规范MQ 7.0V1.6修订记录1. 目录1.命名规范 42. 操作系统级别参数配置 43. 关联软件参数配置 54. MQ 通用配置规范 54.1创建队列管理器 54.2配置文件参数设置 64.3qmgr 属性设置 84.4 创建队列 94.5 配置触发器 114.5.1触发应用 114.5.2触发通道 124.5.3触发CICS交易 144.6 MQ XA配置154.6.1 CICS连接 MQ15462MC连接数据库154.7 配置用户访问权限 164.8 配置 SSL通道175. MQ 架构配置规范 195.1 MQ单机架构配置规范 195.1.1 Send
2、er-Receiver 类型 205.1.2 SVRCO NN 类型225.1.3 LU62 类型通道配置 235.1.4 通道常用属性说明 255.2 MQ HA架构配置规范 265.3 MQ Cluster 架构配置规范 285.3.1 不跨DM亦集群配置285.3.2 跨DMZ区集群配置 316 附录MQ常用参数一览341. 命名规范1. lv名称确认,根据实际的系统环境确认LV名称系统环境标识生产环境P准生产环境U测试环境T2.安装MQ前需要确认如下文件系统已经创建,LV的首字母名称需要根据系 统环境进行确认。lv名称mount 点Plv mqm/var/mqm/Plv mq log/
3、var/mqm/logPlv mq error/var/mqm/errors3. 队列管理器命名应由有意义英文(如系统的英文缩写),数字及下划线组成。 尽量不要使用特殊符号,尤其不要使用“,因为新建队列管理器时,默认会在/var/mqm/qmgrs/下创建已QMGRNAME命名的目录,如果队列管理器的名 字中包含“,创建目录时会系统会自动将“转换成!”给后期维护带来不便。4. 队列,通道,侦听等对象命名时,英文部分应尽量全部使用大写字母,因为在MQSC界面操作时,系统会自动将小写字母转换成大写字母。2. 操作系统级别参数配置为了避免由于网络问题造成通道状态异常,建议考虑修改操作系统的tcp相关
4、参数如下:tcp_keepidle=600 tcp_keep in it=150 tcp_keep in tvl=150 系统资源设定:ulimit -d un limited ulimit -s un limited在AIX系统上安装,建议修改 mqm用户的limit限制:编辑/etc/security/limits 文件,将mqm用户的nofiles,data属性值设置为-1 (默认 2000,262144 )。3. 关联软件参数配置LU62 类型的 MQ Sender/Receiver通道需要额外配置SNA sidein formation,如果需要配置LU62类型通道,参见5.1.3节
5、说明4. MQ通用配置规范4.1创建队列管理器用以下命令创建队列管理器:(一般情况下,日志文件的个数及大小以此为准。但如有长交易的应用,需增加日志个数和大小,需和项目组确定。)crtmqm -lf 16384 -lp5 -ls4 注:其中-lf目的是改变默认的队列管理器日志文件大小,改变后的单个日志文件大小为4KBX 16384KB = 64MB ; -lp和-ls分别是设置队列管理器的主日志文件个数 和辅日志文件个数。在队列管理器建立后,系统初始只有 5个主日志文件。在创建 队列管理器后,只能修改文件个数,文件大小不能修改。队列管理器创建后自动在/var/mqm/qmgrs/下生成qm.in
6、i配置文件。qm.ini配置文件默认信息如下:Log:LogPrimaryFiles= 5LogSec on daryFiles= 4LogFilePages= 16384LogType=CIRCULARLogBufferPages=0LogPath=/var/mqm/log/vQMGRNAME/ LogWritel ntegrity=TripleWriteService:Name=Authorizati on ServiceEn tryPoi nts=13ServiceComp onent:Service=Authorizati on ServiceName=MQSeries.UNIX.au
7、th.service Module=/usr/mqm/lib64/amqzfuComp onen tDataSize=04.2 配置文件参数设置修改最大通道数及最大活动通道数如果架构中存在WAS,并且应用服务器需要连接至队列管理器,则需要增加MaxCha nn els/MaxActiveCha nn els 两个参数。参数值应当大于客户端的数目。防止由于网络不稳定的原因导致的通道状态问题增加 KeepAlive=YES 参数。如需设置以上参数,需在 /var/mqm/qmgrs/qm.i ni 文件中添加以下内容:Chann els:MaxCha nn els=1000MaxActiveCha
8、 nn els=1000TCP:KeepAlive=Yesqm.ini文件中的参数需要重启队列管理器生效。为避免修改了错误的文件,在此说明下两个配置文件的区别,mqs.ini文件位置在/var/mqm目录下,针对全部对列管理器的配置,主要包含队列管理器的名称、缺省 队列管理器的名称、每个文件关联的文件位置等信息;而qm.ini默认在 /var/mqm/qmgrs/ 目录下,仅针对单个对列管理器。mqs.i ni 般包含以下属性:DefaultPrefix=/QIBM/UserData/mqm QueueMa nager:Name=satur n.q ueue.ma nager Prefix=/
9、QIBM/UserData/mqm Library=QMSATURN.Q Directory=satur n!q ueue!ma nagerQueueMa nager:Name=pluto.queue.ma nager Prefix=/QIBM/UserData/mqm Library=QMPLUTO.QU Directory=pluto!queue!ma nagerDefaultQueueMa nager:Name=satur n.q ueue.ma nager qm.ini可以包含部分或全部以下属性: ExitPath:ExitsDefaultPath=/var/mqm/exitsExit
10、sDefaultPath64=/var/mqm/exits64 Service:Name=Authorizati on ServiceEn tryPoi nts=13ServiceComp onent:Service=Authorizati on ServiceName=MQSeries.UNIX.auth.serviceModule=/opt/mqm/bi n/amqzfu 1Comp onen tDataSize=0Log:LogPrimaryFiles=3LogSec on daryFiles=2LogFilePages=1024LogType=CIRCULARLogBufferPage
11、s=0LogPath=/var/mqm/log/saturn!queue!ma nager/XAResourceMa nager:Name=DB2 Resource Man ager BankSwitchFile=/usr/bi n/db2switXAOpe nStri ng=MQBa nkDBXACloseStri ng=ThreadOfCo ntrol=THREADChann els:MaxCha nn els=20MaxActiveCha nn els=100MQIBi ndType=STANDARDTCP:KeepAlive = YesQMErrorLog:ErrorLogSize=2
12、62144ExcludeMessage=7234SuppressMessage=9001,9002,9202Suppress In terval=30ApiExitLocal:Name=Clie ntApplicati on APIcheckerSequence=3Fun ctio n=En tryPoi ntModule=/usr/Dev/Clie ntAppCheckerData=04.3 qmgr属性设置队列管理器相关参数配置,创建好队列管理器,需为本队列管理器指定死信队列“ DEADQ ”:define qlocal (DEADQ) alter qmgr deadq
13、(DEADQ)查看队列管理器的配置信息如下:dis qmgr1 : dis qmgrAMQ8408: Display Queue Man ager details.QMNAME(A)ACCTCONO(DISABLED)J JAUTHOREV(DISABLED)CCSID(819)J JCRTIME(14.38.24)J JDEADQ(DEADQ)DEADQ,配置死信队列。CCSID,配置CCSID,如果是UNIX英文字符集,建议配置为819,如是中文字符集,建议配置1381。如为全球语言,一般建议使用 UTF-8,CCSID配置为1208 此值需和项目组确认。如需修改队列管理器的参数,用MQS
14、C命令ALTER QMGR 如需要将现有的UNIX英文字符集819修改为中文字符集1381,命令如下:ALTER QMGR CCSID (1381)4.4创建队列运行MQSC命令:DEFINE QL (QLNAME)初始化参数设置如下:dis ql(QLNAME)QUEUE(QLTEST)TYPE(QLOCAL)CURDEPTH(0)DEFBIND(OPEN)GET(ENABLED)INITQ()MAXDEPTH(5000)HARDENBOIPPROCS(0)MAXMSGL(4194304)NOTRIGGERNPMCLASS(NORMAL)OPPROCS(0)PUT(ENABLED)PROCE
15、SS()PROPCTL(COMPAT)STATQ(QMGR)TRIGDPTH(1) TRIGTYPE(FIRST) USAGE(NORMAL)TRIGDATA()TRIGMPRI(0)DEFBIND(NOTFIXED)常用参数说明:CURDEPTH,该参数代表当前队列深度。PUT,该参数代表是否可以往队列里放入消息。ENABLED,是;DISABLED,否。GET,该参数代表是否可以从队列里取出消息。ENABLED,是;DISABLED,否。MAXDEPTH,最大消息数目。DEFPSIST,持久性消息。如系统没有保留消息的需求,将该属性设置为NO。DEFBIND , 指定应用程序在 MQOPE
16、N 调用中指定 MQOO_BIND_AS_Q_DEF 时要用的绑定,且队列是一个集群队列。OPEN (默认值)队列打开时,队列句柄绑定到集群队列的特定实例。NOTFIXED队列句柄不绑定到集群队列的任何特殊实例。这样使得队列管理器在使用MQPUT放入消息时可以选择一个特定的队列实例, 还可以在以后需要时更改该选择MQPUT1调用过程总象是指定了 NOTFIXED。传输队列要求配置触发器相关属性,包括TRIGGER、INITQ TRIGTYPE、 TRIGDATA、PROCESS、TRIGDPTH、TRIGMPRI 等参数,确保通道在非手 动停止的情况下能自动重连,详细配置方法见下一节。4.5配
17、置触发器4.5.1触发应用以FIRST方式为例,当第一个消息抵达时,启动一个自己定义的shell脚本。创建触发启动队列defineqlocal(MQ.TRIGER.IN IQUEUE)iike(SYSTEM.DEFAULT .IN ITIATION.QUEUE)定义进程define process(ProcessName) descr(扌苗述)appltype(UNIX) applicid(sh /home/mqm/hp/aa.sh)上面的applicid,定义了一个shell脚本,里面的功能很简单,只输出一句话。 定义一个本地队列,其中,上面绿色部分的属性中,INITQ的值设置成第一步 定义
18、的 MQ.TRIGER .IN IQUEUE , PROCESS 的值设置成第二步设置的 ProcessName,并将 NOTRIGGER 属性值设置成 TRIGGER。打开两个窗口。在第一个窗口上输入以下命令开启触发。runm qtrm -m -q MQ.TRIGER .IN IQUEUE在第二个窗口向队列里写入消息Amqsputvql namevqmgrname双击回车结束。验证:这时在第一个窗口可以看到如下信息。$ runm qtrm -m A -q MQ.TRIGER .IN IQUEUE5724-H72(C) Copyright IBM Corp. 1994,2009. ALL RI
19、GHTSRESERVED.07/12/1217:54:25 : WebSphere MQ trigger mon itor started.07/12/1217:54:25 : Wait ing for a trigger messagesh /home/mqm/hp/aa.sh TMC2TESTTRQPROCESSNAMEsh/home/mqm/hp/aa.shATRIGERTEST07/12/1217:56:06 : End of application trigger.07/12/1217:56:06 : Wait ing for a trigger message红色部分为脚本运行结果
20、,输出一个字符串“TRIGERTEST 触发器配置成功。4.5.2 触发通道中行标准:所有应用传输队列必须配置触发通道。通道触发是触发应用的一种高级使用技巧,我们在传输队列上配置触发功能, 使消息到达后靠触发过程将通道自动连接, 将消息传送到对方。在配置通道触发时, 需要注意以下几点:1. 可以队列的TRIGDATA属性指定要触发的通道,也可用进程定义的 USERDATA。一般将传输队列的TRIGDATA属性指定为发送通道名。2. 通常用FIRST方式触发,一段时间内的第一消息自动触发连接3. 在缺省情况下,初始化队列为SYSTEM.CHANNEL.INITQ。也可以使用其它的初始化队列,那样
21、就需要手工启动 runmqchi。4. 触发应该设置在通道主动方,如 SENDER、REQUESTER。生产环境中设置DISCINT为0,即常连接,不中断。以下是例子:在生产环境中,要求每次第一条消息触发通道,通道为常连接,队列管理器上启用KeepAlive功能,操作系统上设置Keeplntvl为600(见本文中的4.2和2部分)下面是具体的配置脚本实例:QM1:DEFINE QREMOTE (QR_QM2) RNAME (QL_QM2) RQMNAME (QM2) XMITQ (QX_QM2) REPLACEDEFINE QLOCAL(QX_QM2) USAGE (XMITQ) TRIGGE
22、R TRIGTYPE (FIRST)TRIGDATA (C_QM1.QM2) INITQ (SYSTEM.CHANNEL .IN ITQ) REPLACEDEFINE CHANNEL(C_QM1.QM2) CHLTYPE(SDR) TRPTYPE(TCP)C0NNAME((1415)XMITQ(QX_QM2)SHORTTMR(30)SHORTRTY(999999999) DISCINT(0)REPLACEQM2:DEFINE QLOCAL (QL_QM2) REPLACEDEFINE CHANNEL (C_QM1.QM2) CHLTYPE (RCVR) TRPTYPE (TC
23、P)REPLACE触发通道是靠通道初始程序(Channel Initiator)完成的,它相当于一个TriggerMonitor,监听相应的初始化队列,一旦有消息在传输队列上等待传送,该程序会从 初始化队列中读到触发消息,自动启动通道。届时,发送端就会启动runmqchl进程。事实上,这样的程序用户也可以自己开发。系统提供了缺省的Channel Initiator -unmqchi,它缺省监听在初始化队列 SYSTEM.CHANNEL.INITQ 上,在strmqm 启动队列管理器时自动跟随启动。如果要自行指定触发通道的初始化队列,则需手 工启动runmqchi。runm qchi -q In
24、 itQueue -m QMgrName4.5.3 触发CICS交易CICS是IBM的交易中间件,它可以与消息中间件 WebSphere MQ 联合使用, 通过配置使MQ消息触发CICS交易。触发CICS交易也是一种高级的触发使用 技巧,本质上是将触发监控器嵌入到 CICS运行环境中,当满足触发条件后,从触 发监控器启动CICS交易。在配置时,需要注意以下几点:1. 使用缺省初始化队列:SYSTEM.DEFAULT.INITIATION.QUEUE2. THLO是被触发的CICS交易名3. 要将 /usr/lpp/mqm/bin/amqltmcO 作为一个 CICS 交易(如 TMQM)加入C
25、ICS,再用 EXEC CICS START TRANSID (TMQM)将其常驻 cicsas4. amqltmc0 只监视缺省队列管理器的 SYSTEM.DEFAULT .IN ITIATION.QUEUE 如果是自己写的Trigger Monitor则可以自行指定监视的队列管理器和队列。5. 对于UNIX,要将cics用户加入mqm组中,使其具有相应的权限。QM:DEFINE QLOCAL (Q) TRIGGER TRIGTYPE (EVERY) PROCESS (P) INITQ (SYSTEM.CICS .IN ITIATION.QUEUE) REPLACEDEFINE PROCES
26、S (P) APPLTYPE (CICS) APPLICID (THLO) REPLACECICS:cicsadd -c pd -r $(REGION_NAME) -P PMQM PathName=/usr/lpp/mqm/bi n/amqltmc0 ProgType=program RSLKey=publiccicsadd -c td -r $(REGION_NAME) -P TMQM ProgName=PMQM6. 创建系统用户 CICSUSER,用户ID为401 (如果已经使用,往后顺延),同时属于组 cics,mqm 和 cicsterm 组:# mkuser CICSUSER id=
27、401 groups=cics,mqm,cicsterm4.6 MQ XA配 置461CICS连接 MQ1 拷贝 MQ 的 switch load file 文件到 region/bin 下:#cp /usr/mqm/samp/amqzscix.c /var/cics_regi on s/bin2 编译 switch load filexlc_ramqzscix.c -I/usr/ in clude-I/usr/lpp/cics/i nclude-e amqzscix -o amqzsc/usr/lpp/cics/lib/regxa_swxa.o -L/usr/mqm/lib -L/usr/l
28、pp/cics/lib -lmqmcs_r -lmqmcics_r -lmqmxa_r -lmqz_r -lcicsrt -lE ncServer -lpthreads -lsarpc -lE ncina3 为 region 添加 XADcicsadd -c xad -r -P MQMXA ResourceDescriptio n=MQM XA ProductDefinition XAOpen= XASerialize=multiple_association SwitchLoadFile=amqzsc4 为CICS交互创建CICSUSER用户如果在4.5.3节中已经创建,则不需要再创建,如果
29、没有,需要创建CICSUSER 用户。要求用户ID为401 (如果已经使用,往后顺延),同时属于组cics,mqm和 cicsterm 组:# mkuser CICSUSER id=401 groups=cics,mqm,cicsterm4.6.2MC连接数据库ORACL配置检查Oracle环境变量的设置,以Oracle8为例,Oracle主目录。export ORACLE_HOME=/opt/oracle/product/8.1.6创建Oracle切换装入文件可在目录 /usr/mqm/samp/xatm 中找至U xaswit.mak ;编辑xaswit.mak 以取消注释那些适用于正在使
30、用的 Oracle 版本的行。使用以下 命令执行makefile : make -f xaswit.mak oraswit生成的64位切换装入文件放在/var/mqm/exits64 中。添加关于Oracle的资源管理器配置信息在队列管理器的qm.ini文件中的XAResourceManager节中指定切换装入文件的 详细信息。XAResourceMa nager 条目样本XAResourceMa nager:Name=myoracle SwitchFile=oraswitXAOpe nStri ng=Oracle_XA+Acc=P/myuser/mypasswd+SesTm=35+LogDi
31、r=/tmp+th reads=trueThreadOfCo ntrol=THREAD更改Oracle配置参数设置数据库特权在xa_open字符串中指定的 Oracle 用户名必须拥有访问DBA_PENDING_TRANSACTIOJ 的特权。可以使用以下命令示例来授予必要的特权:grant select o n DBA_PENDING_TRANSACTIONS to myuser;4.7配置用户访问权限本节内容不是必须,根据需要考虑设置与否。处于维护需要,可以限制应用用户对 MC的操作权限,防止应用用户对MQ进行误 启停,对MQ寸象属性进行的误修改。对最常使用的对象(队列)的权限设置加以举
32、例说明,其它对象的设置方法请参考队列的设置。例如:设置mqtestu用户和mqtestg用户组,访问队列管理器QMAL的队列TESTQ 允许进行put和get的操作。设置方法如下,使用mqm用户下执行以下命令$ setmqaut -m QMA -t queue -n TESTQ -g mqtestg -p mqtestu +get +putThe setmqaut comma nd completed successfully.参数解析:-m:对象所属队列管理器-t:对象类型-n:对象名-g:授权所属组名称-p:授权用户名称+ :增加权限-:删除权限测试mqtestu用户对TESTC队列进行p
33、ut及get的操作权限$ ./amqsput TESTQ QMASample AMQSPUT0 start target queue is TESTQ hello world!Sample AMQSPUT0 end由于未对其赋予browse权限,故其暂不能查看具体消息内容。$ ./amqsbcg TESTQ QMAAMQSBCG0 - starts here*MQOPEN - TESTQMQOPEN failed with CompCode:2, Reason:2035MQDISC$ ./amqsget TESTQ QMASample AMQSGET0 startmessagevhello w
34、orld!MQI授权对象/权限一览表:qmgr+altusr +connect +inq+set +setall +setidQueue+browse +get +inq +passall +passid+put +set +setall +setidauthi nfoinqprocess+inq +setNamelist+i nqtopic+passall +passid +setall +setid+pub +sub +resume+ :添加权限-:删除权限该表中红色部分为应用可以通过 MQI修改相关对象及与之关联的权限,可以酌情赋 予,防止出现误修改。4.8 配置SSL通道目前中行使用S
35、SL通道的系统主要是 Murex系统及港中银系统,均为自签署证书。 配置相关步骤为:1. 将更新好的证书文件(key.kdb;key.crl;key.rdb;key.sth)放入指定目录,推荐放入 /var/mqm/qmgrs/ssl 目录。2. 在队列管理器中指定 SSL文件所在目录echo alter qmgr SSLKEYR/Var/mqm/qmgrs/ssl /key ” runmqsc 3. 在通道中配置SSL4. 配置加密方式echo alter chl CHLTYPE()SSLCIPH(TRIPLE_DES_SHA”|JS)nmqsc 注意通道双方的加密方式配置要一致,目前中行使
36、用TRIPLE_DES_SHA_U加密方式。5. 配置 SSLPEERSSLPEE内容可以通过双击证书文件,查看detail选项卡确认是否一致。echo “ alter chl chl nameCHLTYPE() SSLPEER(CN=,O=Ba nk of Chin a,OU=CLS,C=CN)&enerel 亡晶怎 Certficatian PathShow: FieldValueSignature hash alnthiYimdSIssuermq.murex.bccconi, CLSr Bank r-3valid from201310 月 ID 日 1S:
37、O3:O3valid to2030年孑月历曰1S;03;03=Subjectmq.murex.bcccom, CL5r BankPublic IcevRSA (1024 &it)Thtirbprini afgaritTirrshalTki inr in+no 叮 IFcn -MTS 7rCM = mq-niLK ex, OU -GLS0 -BankcfChinaC =CNtc L i-czie J-es. Copy to Fte.Learn mre about -一_上 _6. 验证:配置SSL后,启动通道,如果通道状态为 RUNNING,则表示配置生效;如果通道状态非 RU
38、NNING 状态,则表示配置有问题。5. MQ架构配置规范5.1 MQ单机架构配置规范以如下参数为例,进行单机配置,实际配置需要替换以下参数:发送方对象定义接收方对象定义队列管理器名QM1队列管理器名QM2死信队列QM1.DEADQ死信队列QM2.DEADQ侦听器QM1.LSR侦听器QM2丄SRIPIPPORT1414PORT1415发送方对象定义命令:runm qsc QM1定义死信队列:DEFINEQL(QMI.DEADQ) DEFPSIST(YES) REPLACE配置死信队列:ALTER QMGR DEADQ(QM1.DEADQ)REPLAC
39、E定义侦听器:DEFINELISTENER(QMI.LSR)TRPTYPE(TCP)PORT(1414)CONTROL(QMGR) BACKLOG(1OOO) REPLACESTART LISTENER(QM1.LSR)(第一次要手动启动侦听)接收方对象定义命令:runm qsc QM2定义死信队列:DEFINEQL(QM2.DEADQ) DEFPSIST(YES) REPLACE配置死信队列:ALTER QMGR DEADQ(QM2.DEADQ)REPLACE定义侦听器:DEFINELISTENER(QM2.LSR)TRPTYPE(TCP)PORT(1415)CONTROL(QMGR) BA
40、CKLOG(1000) REPLACESTART LISTENER(QM2 LSR)(第一次要手动启动侦听)目前中行主要用到了 Sender-Receiver及SVRCONN两种类型的通道配置,现详细说明这两种类型的通道如下:5.1.1 Sender-Receiver 类型以如下参数为例,发送方配置:发送方对象定义接收方对象定义队列管理器名QM1队列管理器名QM2远程队列名QR本地队列QL传输队列名QX通道名C通道名C发送方对象定义命令:定义远程队列:DEFINE QREMOTE (QR) RNAME (QL) RQMNAME (QM2) XMITQ (QX)REPLACE定义传输队列:DEF
41、INE QLOCAL (QX) USAGE (XMITQ) TRIGGER TRIGTYPE (FIRST)TRIGDATA(C) INITQ (SYSTEM.CHANNELN ITQ) REPLACE定义发送通道:DEFINE CHANNEL (C) CHLTYPE ( SDR) TRPTYPE (TCP) CONNAME ( (1415) XMITQ (QX) SHORTTMR(3O) SHORTRTY(999999999) DISCINT(O)REPLACE接收方对象定义命令:定义本地队列:DEFINE QLOCAL (QL) REPLACE定义接收通道:DEFIN
42、E CHANNEL (C) CHLTYPE ( RCVR) TRPTYPE (TCP) REPLACE测试步骤:接收方(QM2)1)启动侦听runm qsc QM2start liste ner (QM2.LSR)end发送方(QM1):1)启动通道runmqsc QM1startchl (C)查看通道状态是否是 RUNNING 。dischs(C)end2) 向远程队列中输入测试消息。/usr/lpp/mqm/samp/bin/amqsputQR QM1 输入任意测试消息,连按两次回车退出。接收方( QM2)1) 取出测试消息/usr/lpp/mqm/samp/bin/amqsget QL
43、QM2 如能够显示在发送方输入的测试消息,则证明配置成功。5.1.2 SVRCONN 类型Server Connection 。在 Client-Server 连接时,定义服务器端连接时使用。WebSphere MQ 产品分客户端 (Client) 和服务器端 (Server) 两部分。客户端 只是提供一个 WebSphere MQ 的接入环境,本身没有各种对象,即没有队列管理 器、队列、名称列表等等,需要连接到服务器上才能工作。客户端与服务器端的连接是通过一条特殊通道实现的, 称为 MQI 通道如下图。在该通道上传送的是MQI调用,消息是作为MQI参数连同调用一起传送到服 务器端,WebSp
44、hereMQ会在服务器端执行该调用,结果仍作为参数原路返回客户 端。在客户端的通道类型为 CLNTCONN,在服务器端为SVRCONN。事实上,大 多数情况下客户端无需指定通道,直接在应用程序中调用MQI接口即可。服务器端定义命令:DEFINECHANNEL(QMI.SVRCONN) CHLTYPE(SVRCONN) REPLACE在MQ客户端,可以使用MQSERVER环境变量指定客户机连接通道的简 单定义,指定简单通道定义,如下所示:export MQSERVER=Cha nn elName/Tra nsportType/Co nn ectio nN ame参数说明:ChannelName必
45、须和服务器上定义的名称相同。它不能包含正斜杠。TransportType可以是下列其中一种,这取决于MQ客户机平台LU62、TCP等。注:在 UNIX系统上,TransportType区分大小写,并且必须大写。如果 TransportType不可识别,那么 MQCONN 或MQCONNX 调用将返回 2058。ConnectionName是定义到通信协议(TransportType )的服务器的名称。5.1.3 LU62 类型通道配置SNA需要配置本地LU :smittysna,选择:-C on figure SNA Resources-Local Node Resources-LU 6.2
46、Configuration 分别选择以下选项,添加 LU 6.2配置-LU 6.2-LU 6.2 Side In formatio n-LU 6.2 Part ner LU-LU 6.2 Mode-LU 6.2 Tran sact ion Programs添加LU定义:* LU aliasLU51ALU nameLU51A发送通道:CONNAME对象需要指向SNA定义的本地LU。DEFINE CHL(TO.L) CHLTYPE(SDR) TRPTYPE(LU62) CONNAME(LU51A)XMITQ(TQ) REPLACE接收通道DEFINE CHL(TO.L) CHLTYPE(RCVR)
47、 TRPTYPE(LU62) REPLACE如果使用LU62类型的MQ通道,需要配置对应SNA session的side information,具体配置方法如下:smittysna,选择:-C on figure SNA Resources-Local Node Resources-LU 6.2 Con figuratio n分别选择以下选项,添加LU 6.2配置:-LU 6.2 Side In formatio n-LU 6.2 Tran sact ion Programs 添加 LU Side Information定义:Symbolic desti nati on n ame Loca
48、l LU AliasPart ner LU n ameLCTIS001LCTIS001 + +ModeCICSISC +TP name type APPLICATION_TP TP name MQSE 选择 LU 6.2 Transaction Program Definitions,添加 LU 6.2 TP 定义:NameMQSE选择 LU 6.2 Transaction Program Load Information,添加 Load Information 定义:* TP name LU alias Description* User ID Group ID Load Type TP A
49、PI Type Path Arguments stdin Path stdout Path stderr Path Environment 需要替换为本地队列管理MQSE+mqmmqmNON-QUEUED +EXTENDED +/usr/mqm/bin/amqcrs6a-m -n MQSE名, TP name 需要与主机端协商确定5.1.4 通道常用属性说明DISCINT ,断开时间间隔。如果需要保持通道连接不断,则需要设置该 属性为 0(对于一些有防火墙设置的系统该值不建议设置成0)。ShortRty ,ShortTmr ,配置通道的重试次数,减少通道在出现故障时的恢复时间。建议将 Shor
50、tTmr设置为30 (秒),ShortRty设置为999999999。NPMSPEED , 非持久消息的传输速度, 建议设置为 FAST, 非 transaction 方式传递,提高传输速度。5.2 MQ HA架构配置规范前期准备:需提前建立好HA共享储存,假设共享储存为/wmq。1. 在HA共享存储上创建data及log目录。#cd /wmq#mkdir#chmod 755 #chow nmqm:m qm#cd #mkdir data#chmod 755 data#chow nmqm:mqmdata#mkdir log#chmod 755 log#chow nmqm:mqm log2. 删除
51、现有的队列管理器(方工上次创建的单机版队列管理器)#su - mqm$en dmqm$dltmqm3. 创建HA架构的队列管理器$crtmqm - md/wmq/vqmgr_name/data- ld/wmq/vqmgr_name/log4. 由用户创建WMQ相关对象,(队列,通道,侦听器等)。5. 在HA主机上运行$dspm qinf -o comma nd 输出结果类似以下格式:addmqinf - sQueueManager - vName=qmgr_name - vDirectory=qmgr_name-vPrefix=/var/mqm - vDataPath=/wmq/data/qm
52、gr_name将上述命令保存至记事本。6. 停止队列管理器$en dmqm7. HA主备机切换。8. 在备机上执行第5步保存的命令。9. 在备机上验证队列管理器及相关对象是否正常。#su - mqm$dspmq$runm qscDIS QL(*)DIS CHL(*)DIS LISTENERS)经验证,上述对象行为正常,HA架构 WMQ7配置成功5.3 MQ Cluster架构配置规范5.3.1不跨DMZ区集群配置如图,QM1、QM2、QM3组成集群,集群最佳配置为有且仅有两个完全仓储配置库,本示例中QM1和QM2为完全仓储配置库。集群中 QM2和QM3是消息 处理单元,上面有同名集群队列 QL
53、。QM1扮演集群网关(Gateway)的角色,连 接QM4。要求QM4上发出的消息会自动平衡地路由去 QM2和QM3上的本地队列QL,而从QM2或QM3上的应答消息可以到达 QM4SHINE集群队列管理器名QM1 (主存储器)集群发送通道C_QM2集群接收通道C_QM1网关队列管理器别名SHINE.CLUSTER远程队列QR_QM4发送通道C_QM1.QM4接收通道C_QM4.QM1传输队列QX_QM4侦听器QM1.LSR(1414)队列管理器名QM2(主存储器)QM3集群队列QLQL集群接收通道C_QM2C_QM3集群发送通道C_QM1C_QM1侦听器QM2.LSR(1415)QM3.LSR(1416)队列管理器名QM4远程队列QM1本地队列QL_QM4接收通道C_QM1.QM4发送通道C_QM4.QM1传输队列QX_QM1侦听器QM4.LSR(1417)F面是具体的配置脚本实例。QM1 :ALTER QMGR REPOS (SHINE)DEFINELISTENER(QMI.LSR)TRPTYPE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖南怀化市芷江侗族自治县安置政策城镇退役士兵竞聘招录5人备考题库附参考答案详解【达标题】
- 2026广东省清远市连南瑶族自治县带编赴高校及三甲医院专项招聘医疗卫生人才22人备考题库含完整答案详解【易错题】
- 热力系统水处理与循环管理方案
- 风电场防雷与接地系统优化方案
- 2025-2026学年水果社会领域教案
- 2026山东青岛海检冠图检测技术有限公司招聘1人备考题库及参考答案详解(b卷)
- 2026浙江国检检测技术股份有限公司第一轮招聘员工5人备考题库含完整答案详解【网校专用】
- 2026年上饶职业技术学院单招职业技能考试题库附答案详细解析
- 2026北京对外经济贸易大学非事业编人员招聘7人备考题库含答案详解(精练)
- 2026年泉州信息工程学院单招职业适应性测试题库有答案详细解析
- 2026年滁州职业技术学院单招综合素质考试题库附答案详解
- 2026春统编版三年级下册道德与法治每课知识点清单
- 2025年建筑安全员c2考试题及答案
- 2025中国国新控股有限责任公司招聘7人笔试历年常考点试题专练附带答案详解
- 东北三省三校2026年高三下学期高考第一次联合模拟考试政治试卷
- 2026秋招:平安银行笔试题及答案
- 2026年六安职业技术学院单招职业适应性考试题库附参考答案详解ab卷
- 2026广东江门职业技术学院管理教辅人员招聘4人备考题库带答案详解(基础题)
- 货梯使用专项安全培训课件
- (2025版)国家基层高血压防治管理指南2025版课件
- 女职工安全教育培训内容课件
评论
0/150
提交评论