注册
达梦数据库学习21:守护集群单实例监视器和多实例监视器的配置
专栏/技术分享/ 文章详情 /

达梦数据库学习21:守护集群单实例监视器和多实例监视器的配置

Hi70KG 2023/09/21 2468 0 0
摘要

配置监视器

由于主库和实时备库的守护进程配置为自动切换模式,因此这里必须配置确认监视器。和普通监视器相比,确认监视器除了相同的命令支持外,在主库发生故障时,能够自动通知实时备库接管为新的主库,具有自动故障处理的功能。

配置确认监视器时可以选择配置单实例监视器或配置多实例监视器,下面将分别介绍配置单实例监视器以及多实例监视器时 dmmonitor.ini 配置文件中的配置信息。

配置规则

1.单实例监视器和多实例的组名和守护集群的组名必须一致,这里命名为[GRP1]

2.单实例监视器和多实例的OGUID即MON_INST_OGUID和守护集群的OGUID必须一致,这里OGUID为453331

3.多实例监视器个数需要为ODD(奇数个),即MON_INST_NUM=3

4.多实例监视器的MON_PORT,每个实例的端口不相同,且不和其他服务共用一个端口

5.多实例监视器的全局配置对应不同的MON_ID, 且与下面组配置的MON_INST_ID相同,详情见案例

配置单实例监视器

修改 dmmonitor.ini 配置确认监视器,其中 MON_DW_IP 中的 IP 和 PORT 和 dmmal.ini 中的 MAL_HOST 和 MAL_DW_PORT 配置项保持一致。

$ cat ./dmmonitor_manual.ini
MON_DW_CONFIRM = 0 #普通监视器模式
MON_LOG_PATH = /dm8/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值
MON_DW_IP = 192.168.80.11:65101
MON_DW_IP = 192.168.80.12:65121

配置多实例监视器

为每个实例配置一个 dmmonitor.ini。众多 dmmonitor.ini 中,除 MON_ID 参数不同以外,其他参数应完全一致。

以下以2节点主备加1个监视器节点的 dmmonitor.ini 为例进行介绍。各实例的 MON_ID 与 MON_INST_ID 应相同。dmmonitor.ini 配置文件中的内容如下:

节点一监视器配置

vi /dm8/data/DM01/dmmonitor.ini
​
#node01
MON_LOG_PATH=/dm8/log
MON_LOG_INTERVAL=60
MON_LOG_FILE_SIZE=32
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 #当前监视器系统的唯一标识
[GRP1]
MON_INST_OGUID=453331 #组GDW1的唯一OGUID值
MON_DW_IP=192.168.80.11:65101
MON_DW_IP=192.168.80.12:65201
[MON1]
MON_HOST=192.168.80.11 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=1 #监视器实例在监视器系统中的ID
[MON2]
MON_HOST=192.168.80.12 #系统监听TCP连接的IP地址
MON_PORT=8340 #系统监听TCP连接的端口号
MON_INST_ID=2 #监视器实例在监视器系统中的ID
[MON3]
MON_HOST=192.168.80.13 #系统监听TCP连接的IP地址
MON_PORT=8341 #系统监听TCP连接的端口号
MON_INST_ID=3 #监视器实例在监视器系统中的ID

节点二监视器配置

vi /dm8/data/DM01/dmmonitor.ini
Go
#node02
MON_LOG_PATH=/dm8/log
MON_LOG_INTERVAL=60
MON_LOG_FILE_SIZE=32
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 #当前监视器系统的唯一标识
[GRP1]
MON_INST_OGUID=453331 #组GDW1的唯一OGUID值
MON_DW_IP=192.168.80.11:65101
MON_DW_IP=192.168.80.12:65201
[MON1]
MON_HOST=192.168.80.11 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=1 #监视器实例在监视器系统中的ID
[MON2]
MON_HOST=192.168.80.12 #系统监听TCP连接的IP地址
MON_PORT=8340 #系统监听TCP连接的端口号
MON_INST_ID=2 #监视器实例在监视器系统中的ID
[MON3]
MON_HOST=192.168.80.13 #系统监听TCP连接的IP地址
MON_PORT=8341 #系统监听TCP连接的端口号
MON_INST_ID=3 #监视器实例在监视器系统中的ID
​
​
​

节点三监视器配置

vi /dm8/bin/dmmonitor.ini
​
#node03
MON_LOG_PATH=/dm8/log
MON_LOG_INTERVAL=60
MON_LOG_FILE_SIZE=32
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 #当前监视器系统的唯一标识
[GRP1]
MON_INST_OGUID=453331 #组GDW1的唯一OGUID值
MON_DW_IP=192.168.80.11:65101
MON_DW_IP=192.168.80.12:65201
[MON1]
MON_HOST=192.168.80.11 #系统监听TCP连接的IP地址
MON_PORT=8339 #系统监听TCP连接的端口号
MON_INST_ID=1 #监视器实例在监视器系统中的ID
[MON2]
MON_HOST=192.168.80.12 #系统监听TCP连接的IP地址
MON_PORT=8340 #系统监听TCP连接的端口号
MON_INST_ID=2 #监视器实例在监视器系统中的ID
[MON3]
MON_HOST=192.168.80.13 #系统监听TCP连接的IP地址
MON_PORT=8341 #系统监听TCP连接的端口号
MON_INST_ID=3 #监视器实例在监视器系统中的ID

启动单实例普通监视器

image.png

show state查看监视器状态,因为是单实例监视,MON_ROLE状态为LEADER

image.png

启动多实例确认监视器

show state查看监视器状态,因为是多实例监视,MON_ROLE状态分为LEADER,FOLLOWER,NOT LEADER

image.png

在MON_LOG_PATH=/dm8/log路径下会生成MON_MID=45614日志

image.png

各个监控实例运行state列表默认中会把本机放在第一位
image.png

把LEADER 192.168.80.13 监控实例kill掉后
image.png

192.168.80.13 监控实例重新加入变成FOLLOWER,并不会变成LERADER
image.png

同一时间,各个节点的角色不一致?

节点1:
image.png

节点2:
image.png

节点3:
image.png

kill 节点1,节点1非lEADER 会日志报错
image.png

节点1状态正常
image.png

节点1重新加入
image.png

节点1重新加入,报错停止

image.png

节点2 leader,kill掉,节点1不成为leader,日志只有两条

image.png

节点2 leader,kill掉,节点3成为leader,日志有三条

image.png

节点2,节点3都kill掉后,只剩下节点1,角色变成候选人
image.png

失去切换功能
image.png

达梦社区技术https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服