1、1、 原MQ数据文件备份先准备好安装包:WMQ_Linux_x86-64_v601.tar.gz、6.0.2-WS-MQ-LinuxX64-FP0003.tar。这两个包在现有的MQ服务器上已经存在:WMQ_Linux_x86-64_v601.tar.gz包分别放在ccisqz01、ccisqz02的/home/ap/ccis/mqmsoftware目录下6.0.2-WS-MQ-LinuxX64-FP0003.tar包分别放在ccisqz01、ccisqz02的/home/ap/ccis/mqmsoftware/fix目录下先以root登录ccisqz011) 备份ccisqz01系统下的配置
2、文件呢及日志文件: 备份/var/mqm/qmgrs/QMC004备份/var/mqm/log2) 注意:先记录seqnum值:进入目录cd /opt/mqm/bin进入控制台:runmqsc QMC004查看seqnum值:发送通道:DIS CHS(CHC004A001) CURSEQNO接收通道:DIS CHS(CHA001C004) CURSEQNO记录CURSEQNO的值以便如要应急重置seqnum用。1、 以root登录ccisqz02(先在ccisqz02成功完成迁移,再迁移ccisqz01)2、 MQ服务停止(1) 停止所有跟队列管理器相关的监听程序endmqlsr -m QMC
3、004(2)首先正常停止:$endmqm w QMC004 如不能正常停止(3)立即停止:$endmqm i QMC004(4)强制停止:$endmqm -p QMC004(5)杀死有关进程和残留在系统内部的信号灯和共享内存: a)执行ps命令找到运行的队列管理器程序进程ID。 ps -ef | grep QMC004 b)终止所有仍在运行的队列管理器进程。使用 kill命令指定用 ps 命令发现的进程ID。 注: 无法停止的进程可使用kill -9来终止。 c)杀死所有残留在系统内部的信号灯和共享内存(其属主和组均为mqm,需要用root或mqm用户来杀死): ipcs -s| grep m
4、qm | awk print $2|xargs -i ipcrm -s ipcs -m| grep mqm | awk |xargs -i ipcrm -m 注:停止队列管理器后,若重新启动失败,则可检查上次停止后是否有IPC资源未释放。若有将会导致启动失败,需要通过上述方法予以删除(注意不要误删!)。 备注:停止MQ后用dspmq QMC004 命令来查看MQ的运行状态。运行状态有:Starting 正在启动Running 正在运行Ending 正在停止Ended normally 已经正常终止Ended immediately 已经立即终止Ended preemtively 已经强制终止E
5、nded unexpectively 异常终止3、备份原系统下的MQ配置文件:备份/var/mqm/qmgrs/QMC0042、操作系统环境准备安装Red hat Linux操作系统 (文档由北数出)3、必要的文件目录准备 mkdir /opt/mqm # 安装文件解压后的存放目录mkdir /var/mqm # 工作路径4、用户准备用户需求,用root用户创建mqm用户组和mqm用户,并把mqm用户添加到mqm用户组。把ccis用户也加到mqm用户组下。5、解压安装包进入MQ安装包WMQ_Linux_x86-64_v601.tar.gz所在的目录输入命令tar zxvf WMQ_Linux_
6、x86-64_v601.tar.gz解压该安装包得到如下文件列表:6、运行MQ许可证程序要安装 WebSphere MQ 软件包,首先要运行 MQ 许可证程序.用root用户登录,进入安装目录,输入命令./mqlicense.sh,出现如下画面:输入2按Enter键选择English语言输入Enter键,出现如下协议阅读页面:选择1按Enter键同意协议,完成运行MQ许可证。7、安装 WebSphere MQ for Linux 服务器7.1安装Runtime输入命令rpm ivh MQSeriesRuntime-6.0.1-0.x86_64.rpm如下:等待安装,出现如下页面,则说明Runt
7、ime安装完成。7.2安装SDK 输入命令rpm ivh MQSeriesSDK-6.0.1-0.x86_64.rpm如下:等待安装,出现如下页面,则说明SDK安装完成。7.3安装java 输入命令:rpm ivh MQSeriesJava-6.0.1-0.X86_64.rpm如下:等待安装,出现如下页面,则说明Java安装完成。7.4安装Clientrpm ivh MQSeriesClient-6.0.1-0.x86_64.rpm如下:等待安装,出现如下页面,则说明Client安装完成。7.5安装Samples样例程序rpm ivh MQSeriesSamples-6.0.1-0.x86_6
8、4.rpm如下:等待安装,出现如下页面,则说明Samples安装完成。7.6安装Serverrpm ivh MQSeriesServer-6.0.1-0.X86_64.rpm如下:等待安装,出现如下页面,则说明Server安装完成。7.7查看安装的MQ系列产品输入命令:rpm qa | grep MQSeries如下:列出如下安装列表,确认是我们要的安装,则说明MQ安装成功。8、安装WebSphere MQ补丁 安装MQ补丁的前提是已正常安装MQ服务器8.1解压安装包进入MQ补丁所在的目录,使用tar xvf 6.0.2-WS-MQ-LinuxX64-FP0003.tar命令解压安装包如下图:
9、8.2安装Runtime补丁rpm -ivh MQSeriesRuntime-U811635-6.0.2-3.x86_64.rpm如下图:等待安装,出现如下页面说明Runtime补丁安装成功8.3安装SDK补丁rpm -ivh MQSeriesSDK-U811635-6.0.2-3.x86_64.rpm如下图:等待安装,出现如下页面说明SDK补丁安装成功8.4安装Server补丁rpm -ivh MQSeriesServer-U811635-6.0.2-3.x86_64.rpm如下图等待安装,出现如下页面说明Server补丁安装成功8.5安装Client补丁rpm -ivh MQSeriesC
10、lient-U811635-6.0.2-3.x86_64.rpm如下图:等待安装,出现如下页面说明Client补丁安装成功8.6安装Samples补丁rpm -ivh MQSeriesSamples-U811635-6.0.2-3.x86_64.rpm如下图:等待安装,出现如下页面说明Samples补丁安装成功8.7安装Java补丁rpm -ivh MQSeriesJava-U811635-6.0.2-3.x86_64.rpm如下图:等待安装,出现如下页面说明Java补丁安装成功8.8查看安装的MQ系列产品9、MQ队列管理器配置以mqm用户登录机子(1)进入目录可配置目录cd /opt/mqm
11、/samp(2) 创建MQ队列管理器crtmqm -lc -lf 16384 -lp 25 -ls 5 QMC004【WebSphere MQ queue manager created.Creating or replacing default objects for QMC004.Default objects statistics : 40 created. 0 replaced. 0 failed.Completing setup.Setup completed.】(3) 启动队列管理器strmqm QMC004【WebSphere MQ queue manager QMC004 st
12、arting.5 log records accessed on queue manager during the log replay phase.Log replay for queue manager complete.Transaction manager state recovered for queue manager .WebSphere MQ queue manager started.】(5) 启动管理工具 启动mq管理工具,通过mq.txt脚本配置MQ队列管理器的队列信息,并把日志纪录到mq.log文件,步骤如下:A、 上传mq.txt到/opt/mqm/samp目录下,并
13、执行如下命令:B、执行命令:runmqsc QMC004 mq.logmq.txt要先上传到/opt/mqm/samp目录下,mq.txt内容如下:DEFINE QL(QLC004BTIS01) DEFPSIST(YES) maxdepth(10000) REPLACEDEFINE QL(QLC004BTIS02) DEFPSIST(YES) maxdepth(10000) REPLACEDEFINE QL(QXC004A001) USAGE(XMITQ) DEFPSIST(YES) trigger trigtype(FIRST) trigdata(CHC004A001) INITQ(SYST
14、EM.CHANNEL.INITQ) maxdepth(10000) REPLACEdefine qremote(QRC004A001BTIS01) rname(QLA001BTIS01) rqmname(QMA001) xmitq(QXC004A001) DEFPSIST(YES) REPLACEdefine qremote(QRC004A001BTIS02) rname(QLA001BTIS02) rqmname(QMA001) xmitq(QXC004A001) DEFPSIST(YES) REPLACEdefine channel(CHC004A001) chltype(SDR) con
15、name(11.156.204.11(1401) xmitq(QXC004A001) trptype(tcp) shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(50) replacedefine channel(CHA001C004) chltype(RCVR) trptype(TCP)DEFINE QLOCAL(QDC004) defpsist(yes) maxdepth(20000) REPLACEDEFINE LISTENER(QMC004) TRPTYPE(TCP) PORT(1401) CONT
16、ROL(MANUAL) BACKLOG(0)alter qmgr deadq(QDC004)alter qmgr ccsid(819)-执行完毕后,查看mq.log日志。正常情况内容如下:【-bash-3.2$ cat mq.log5724-H72 (C) Copyright IBM Corp. 1994, 2005. ALL RIGHTS RESERVED.Starting MQSC for queue manager QMC004. 1 : DEFINE QL(QLC004BTIS01) DEFPSIST(YES) maxdepth(10000) REPLACEAMQ8006: WebSp
17、here MQ queue created. : 2 : DEFINE QL(QLC004BTIS02) DEFPSIST(YES) maxdepth(10000) REPLACE 3 : DEFINE QL(QXC004A001) USAGE(XMITQ) DEFPSIST(YES) trigger trigtype(FIRST) trigdata(CHC004A001) INITQ(SYSTEM.CHANNEL.INITQ) maxdepth(10000) REPLACE 4 : define qremote(QRC004A001BTIS01) rname(QLA001BTIS01) rq
18、mname(QMA001) xmitq(QXC004A001) DEFPSIST(YES) REPLACE 5 : define qremote(QRC004A001BTIS02) rname(QLA001BTIS02) rqmname(QMA001) xmitq(QXC004A001) DEFPSIST(YES) REPLACE 6 : define channel(CHC004A001) chltype(SDR) conname(128.64.96.32(1401)AMQ8014: WebSphere MQ channel created. 7 : define channel(CHA00
19、1C004) chltype(RCVR) trptype(TCP) 8 : DEFINE QLOCAL(QDC004) defpsist(yes) maxdepth(20000) REPLACE 9 : DEFINE LISTENER(QMC004) TRPTYPE(TCP) PORT(1401) CONTROL(MANUAL) BACKLOG(0)AMQ8626: WebSphere MQ listener created. 10 : alter qmgr deadq(QDC004)AMQ8005: WebSphere MQ queue manager changed. 11 : alter
20、 qmgr ccsid(819)11 MQSC commands read.No commands have a syntax error.All valid MQSC commands were processed.】10、启动MQ服务(1)、用mqm用户进入/opt/mqm/samp cd /opt/mqm/samp(2)、执行命令dspmq -m QMC004,察看队列管理器状态 运行状态有:(3)、正常为非正在运行状态,执行strmqm QMC004 启动管理器(4)、执行命令dspmq -m QMC004,察看队列管理器状态,直到队列管理器状态为正在运行(5)执行命令runmqlsr
21、 -t tcp -p 1401 -m QMC004 & 启动监听程序(6)、执行runmqsc QMC004命令进入控制台状态(7)、执行DISPLAY CHSTATUS(CHC004A001)察看通道状态,通道正常的话会显示通道详细信息;如果通道没有启动可以通过命令:start channel(CHC004A001)进行启动,并再查看通道状态为(running)启动成功。如有启动不成功,重置通道 reset channel(CHC004A001) seqnum(1)(8)、执行DISPLAY CHSTATUS(CHA001C004)察看通道状态,通道正常的话会显示通道详细信息;start c
22、hannel(CHA001C004)进行启动,并再查看通道状态为(running)启动成功。如有启动不成功,查看日志:cd /var/mqm/qmgrs/QMC004/errors/AMQERR01.LO中会出现AMQ9526错误类似如下格式:-08/19/2011 11:57:47 AM - Process(23974.10) User(mqm) Program(amqrmppa)AMQ9526: Message sequence number error for channel CHA001C004EXPLANATION:The local and remote queue manager
23、s do not agree on the next message sequencenumber. A message with sequence number 12 has been sent when sequence number11 was expected.ACTION:Determine the cause of the inconsistency. It could be that the synchronizationinformation has become damaged, or has been backed out to a previous version. If
24、 the situation cannot be resolved, the sequence number can be manually resetat the sending end of the channel using the RESET CHANNEL command.确定接收通道的sequence number为12(具体值根据具体情况而定)则reset channel(CHA001C004) seqnum(12) (具体值根据具体情况而定)再start channel(CHA001C004)进行启动,并再查看通道状态为(running)启动成功。如还是启动不成功。则得银监会查
25、看channel(CHA001C004)的sequence number值。得到之后根据情况重置sequence number值。11、测试MQServer 1、进入可执行目录/opt/mqm/samp/bin cd /opt/mqm/samp/bin 2、测试MQServer (1)、测试队列QLC004BTIS01 (a)、向队列管理器QMC004中的队列QLC004BTIS01上传信息: 执行命令./amqsput QLC004BTIS01 QMC004 出现如下信息: Sample AMQSPUT0 starttarget queue is QLC004BTIS01 输入测试字符串:t
26、est,然后回车 再按Ctrl+D键退出 (b)、从队列管理器QMC004中的队列QLC004BTIS01取出信息: 执行命令./amqsget QLC004BTIS01 QMC004 等待一会儿,出现如下界面则说明成功取出信息 Sample AMQSGET0 startmessage no more messagesSample AMQSGET0 end (2)、测试队列QLC004BTIS02(a)、向队列管理器QMC004中的队列QLC004BTIS02上传信息: 执行命令./amqsput QLC004BTIS02 QMC004 出现如下信息:target queue is QLC004BTIS02test,然后回车 (b)、从队列管理器QMC004中的队列QLC004BTIS02取出