【达梦8】多实例监视集群的部署测试

多实例监视器

1、简介

确认监视器具有状态确认和自动接管两个功能。在数据守护系统的故障自动切换模式下,必须部署一个确认监视器,否则在出现数据库故障时,会导致数据库服务中断。DM 提供了两种确认监视器的配置形式,分别为单实例和多实例。
但是当单实例确认监视器故障时,无法继续进行集群的故障自动接管和备库故障确认,影响正常使用,故提供了多实例确认监控器来进一步提高集群的高可用性。
在多实例确认监视器中,只有一个实例作为确认监视器提供服务,其它实例作为备库存在而不提供服务。当确认监视器出现故障时,系统会从它的备库中选举一位作为新的确认监视器继续提供服务。

2、角色

1)leader

主监视器。作为确认监视器向主备集群提供状态确认、自动接管等服务。正常情况下,一个多实例确认监视器集群中最多只存在一个Leader。在多实例确认监视器的任意节点上执行show state命令,可以查看到当前作为Leader的节点。

2)follower

备监视器。作为Leader的备机而存在,不向主备集群提供服务,不允许执行除show state 之外的监视器命令。

3)candidate

候选监视器。Leader还未选出或者Leader异常时,Follower会主动发起选举选出新 Leader,在发起选举时会切换为此角色。

4)not leader

非主监视器。此状态不属于RAFT协议的内容,仅用于show state命令中打印显示使用。在无法识别对方是Follower还是Candidate,但可以确定对方不是Leader的情况下会将其状态显示为Not leader。

3、部署

1)当前环境

IP角色端口版本
192.168.168.10Primary52368.1.3.140 pack4
192.168.168.11Standby52368.1.3.140 pack4
192.168.168.12Standby52368.1.3.140 pack4

2)配置文件

—一节点
[dmdba@dm dmmonitor]$ cat dmmonitor.ini
MON_LOG_PATH = /data2/dmdata/dmmonitor/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大32M
MON_LOG_SPACE_LIMIT = 0 #限定日志文件总占用空间
MON_DW_CONFIRM = 1
MON_INST_NUM=3 #实例总个数
MON_HB_INTERVAL=60 #通信心跳校验间隔
MON_BRO_INTERVAL=100 #raft协议中实例通信心跳间隔
MON_VOTE_INTERVAL=100 #raft协议中基础投票间隔
MON_ID=1 #当前监视器在监视器系统中的ID
MON_MID=45614 #当前监视器系统的唯一标识
MON_NAME=test1
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.168.10:5536
MON_DW_IP = 192.168.168.11:5536
MON_DW_IP = 192.168.168.12:5536
[MON1]
MON_HOST=192.168.168.10 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=1 #监视器实例在监视器系统中的ID
[MON2]
MON_HOST=192.168.168.11 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=2 #监视器实例在监视器系统中的ID
[MON3]
MON_HOST=192.168.168.12 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=3 #监视器实例在监视器系统中的ID

—二节点
[dmdba@dm dmmonitor]$ cat dmmonitor.ini
MON_LOG_PATH = /data2/dmdata/dmmonitor/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大32M
MON_LOG_SPACE_LIMIT = 0 #限定日志文件总占用空间
MON_DW_CONFIRM = 1
MON_INST_NUM=3 #实例总个数
MON_HB_INTERVAL=60 #通信心跳校验间隔
MON_BRO_INTERVAL=100 #raft协议中实例通信心跳间隔
MON_VOTE_INTERVAL=100 #raft协议中基础投票间隔
MON_ID=2 #当前监视器在监视器系统中的ID
MON_MID=45614 #当前监视器系统的唯一标识
MON_NAME=test2
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.168.10:5536
MON_DW_IP = 192.168.168.11:5536
MON_DW_IP = 192.168.168.12:5536
[MON1]
MON_HOST=192.168.168.10 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=1 #监视器实例在监视器系统中的ID
[MON2]
MON_HOST=192.168.168.11 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=2 #监视器实例在监视器系统中的ID
[MON3]
MON_HOST=192.168.168.12 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=3 #监视器实例在监视器系统中的ID

—三节点
[dmdba@dm dmmonitor]$ cat dmmonitor.ini
MON_LOG_PATH = /data2/dmdata/dmmonitor/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大32M
MON_LOG_SPACE_LIMIT = 0 #限定日志文件总占用空间
MON_DW_CONFIRM = 1
MON_INST_NUM=3 #实例总个数
MON_HB_INTERVAL=60 #通信心跳校验间隔
MON_BRO_INTERVAL=100 #raft协议中实例通信心跳间隔
MON_VOTE_INTERVAL=100 #raft协议中基础投票间隔
MON_ID=3 #当前监视器在监视器系统中的ID
MON_MID=45614 #当前监视器系统的唯一标识
MON_NAME=test3
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.168.10:5536
MON_DW_IP = 192.168.168.11:5536
MON_DW_IP = 192.168.168.12:5536
[MON1]
MON_HOST=192.168.168.10 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=1 #监视器实例在监视器系统中的ID
[MON2]
MON_HOST=192.168.168.11 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=2 #监视器实例在监视器系统中的ID
[MON3]
MON_HOST=192.168.168.12 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=3 #监视器实例在监视器系统中的ID

3)初始化日志文件

多实例监视器增加了联机日志文件,用于存储多实例监视器节点运行过程中产生或收到的日志包。因此,在使用配置文件启动多实例监视器实例之前,需要先初始化联机日志文件。

—查看命令格式
在这里插入图片描述

—一节点初始化
[dmdba@dm dmmonitor]$ dmmonitor RAFT_FILE_PATH=/data2/dmdata/dmmonitor/log RAFT_FILE_SIZE=512 MON_MAGIC=114514 MON_NAME=test1
在这里插入图片描述

—二节点初始化
[dmdba@dm dmmonitor]$ dmmonitor RAFT_FILE_PATH=/data2/dmdata/dmmonitor/log RAFT_FILE_SIZE=512 MON_MAGIC=114514 MON_NAME=test2
在这里插入图片描述

—三节点初始化
在这里插入图片描述

4)注册服务并启动

—每个节点root用户执行
sh /data/dmsoft/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -monitor_ini /data2/dmdata/dmmonitor/dmmonitor.ini -p mon
—启动服务
在这里插入图片描述
—检查日志
在这里插入图片描述

4、报错处理

1)初始日志大小

—报错截图
在这里插入图片描述
—报错处理
多实例监视器集群的联机日志RAFT_FILE_SIZE大小最小是512MB,更改大小后命令执行成功

2)Invalid MON_DW_CONFIRM(0)

—报错截图
在这里插入图片描述
—报错处理
多实例监视器集群为确认监视器,修改MON_DW_CONFIRM为0,改为普通监视器会报错

3)dwmon_mraft_sys_init failed

—报错截图
在这里插入图片描述
—报错处理
多实例监视器集群在启动前,需要在每个节点配置联机日志否则启动报错

4)Invalid MON_NAME

—报错截图
在这里插入图片描述
—报错处理
多实例监视器集群的配置文件中,每个节点都应配置监视节点名,否则启动报错

社区地址:https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值