您的位置:首页 > 其它

MQ MI多实例安装配置

2015-10-09 22:38 267 查看
在 MQ V7.0.1 版本中,我们可以通过多实例队列管理器来实现自动故障转移,这种方式不同于HACMP,HACMP是对硬件进行监测,而它可以监测到软件问题。它通过将数据和配置共享在网络文件系统上(NFS),当活动队列管理器出现问题时,另一个实例自动接管网络文件系统上的数据和配置并变为活动实例。任何时候活动实例都将锁定队列管理器的数据,确保了数据的完整性。

---------------------------------------------------------------------

操作系统:RHEL 5.8

主机A: mqtest

主机B:mqtest2

挂载目录:/MQHA

在新建用户和组时,我们要确保两个节点上 mqm 用户的 id 和组 id 是相同的,这里我们自定义为 1000 :

Linux系统中的用户分为3类:

普通用户:在添加普通用户时,系统默认用户ID从500开始编号

根用户:也就是root用户,它的ID是0,也被称为超级用户

系统用户:是指系统运行时必须有的用户,但并不是指真实的使用者

-新建用户

[root@mqtest ~]# groupadd mqm -g 1000

[root@mqtest ~]# useradd mqm -u 1000 -g mqm -d /var/mqm

通过命令验证:

[root@mqtest ~]# id mqm

uid=1000(mqm) gid=1000(mqm) groups=1000(mqm)

-然后在两台机器上分别安装MQ V7.0.1

-然后挂载 NFS 网络文件系统

-更改挂载目录权限为mqm所有

[root@mqtest ~]# chown -R mqm:mqm /MQHA

---------------------------------------------------------------------

-使用 amqmfsck 命令以验证文件系统

用法:amqmfsck [-v] [-c | -w] DirectoryName

 -c   测试针对目录中某个文件的并发写操作。

 -v   详细输出。

 -w   测试等待和释放目录中的文件锁定。

如果 -c 或 -w 都未指定,那么该程序将测试 WebSphere MQ 用于队列管理器数据和日志的文件系统的基本行为。

如果指定了 -c 或-w,那么应使用相同的命令行选项在两台服务器上同时启动该程序。该目录应位于在两台服务器的相同位置安装的网络存储器。

1、不带任何选项

[root@mqtest ~]# su - mqm

[mqm@mqtest ~]$ amqmfsck /MQHA

已成功完成目录上的测试。

2、带有 -c 选项(两台都执行)

[mqm@mqtest ~]$ amqmfsck -c /MQHA/

在另一台服务器上使用相同参数启动此程序的第二个副本。

写入测试文件。这通常将在大约 60 秒内完成。

...........................................................

已成功完成目录上的测试。

3、同步执行带有 -w 选项(两台都执行)

[mqm@mqtest ~]$ amqmfsck -w /MQHA/

在另一台服务器上使用相同参数启动此程序的第二个副本。

获取文件锁定。

按 Enter 键或终止此进程以释放该锁定。

释放文件锁定。

已成功完成目录上的测试。

[mqm@mqtest2 ~]$ amqmfsck -w /MQHA/

正在等待文件锁定。

正在等待文件锁定。

正在等待文件锁定。

正在等待文件锁定。

正在等待文件锁定。

获取文件锁定。

按 Enter 键或终止此进程以释放该锁定。

释放文件锁定。

已成功完成目录上的测试。

---------------------------------------------------------------------

-在共享文件系统中创建data和logs目录

[mqm@mqtest ~]$ mkdir {data,logs}

-创建队列管理器

[mqm@mqtest MQHA]$ crtmqm -md /MQHA/data -ld /MQHA/logs -lf 16384 -lp 10 -ls 5 -u QM1.DEAD.QUEUE -q QM1

WebSphere MQ 队列管理器已创建。

已创建目录“/MQHA/data/QM1”。

队列管理器与安装“Installation1”关联。

正在创建或替换队列管理器“QM1”的缺省对象。

缺省对象统计:71 个已创建。0 个已替换。0 个已失败。

正在完成设置。

设置完成。

-复制队列管理器配置

[mqm@mqtest ~]$ dspmqinf -o command QM1

addmqinf -s QueueManager -v Name=QM1 -v Directory=QM1 -v Prefix=/var/mqm -v DataPath=/MQHA/data/QM1

将输出的 addmqinf 命令在另一台执行:

[mqm@mqtest2 ~]$ addmqinf -s QueueManager -v Name=QM1 -v Directory=QM1 -v Prefix=/var/mqm -v DataPath=/MQHA/data/QM1

WebSphere MQ configuration information added.

---------------------------------------------------------------------

验证安装,一个活动实例,一个备用实例:

[mqm@mqtest MQHA]$ strmqm -x QM1

WebSphere MQ 队列管理器“QM1”正在启动。

队列管理器与安装“Installation1”关联。

在日志重放阶段在队列管理器“QM1”上访问了 5 条日志记录。

完成队列管理器“QM1”的日志重放。

为队列管理器“QM1”恢复了事务管理器状态。

使用 V7.1.0.3 启动了 WebSphere MQ 队列管理器“QM1”。

-启动 MI 队列管理器 需要带有参数 -x

[mqm@mqtest2 ~]$ strmqm -x QM1

WebSphere MQ 队列管理器“QM1”正在启动。

队列管理器与安装“Installation1”关联。

队列管理器“QM1”的备用实例已启动。活动实例正在其他位置运行。

[mqm@mqtest ~]$ dspmq -x

QMNAME(QM1)                                               STATUS(正在运行)

    INSTANCE(mqtest) MODE(活动的)

    INSTANCE(mqtest2) MODE(备用)

[mqm@mqtest2 ~]$ dspmq -x

QMNAME(QM1)                                               STATUS(正在以备用方式运行)

    INSTANCE(mqtest) MODE(活动的)

    INSTANCE(mqtest2) MODE(备用)

-停止 MI 队列管理器

用法:endmqm [-z] [([-c | -w | -i | -p] [-r] [-s]) | -x] QMgrName

 -s   在关闭后切换到备用队列管理器实例

 -x   结束备用队列管理器实例,而不结束活动实例

不带参数 -s或者 -x将同时停止活动和备用实例

-删除 MI 队列管理器

在备用队列管理器服务器删除它的引用:

[mqm@mqtest ~]$ rmvmqinf QM1

删除活动队列管理器:

[mqm@mqtest ~]$ dltmqm MQ1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MQ MI 多实例 MQ