MySQL MGR集群节点宕机恢复案例分析(二)

来源:这里教程网 时间:2026-03-01 18:31:51 作者:

3 MGR 集群验证

3节点组成的集群,最开始3个节点均为ONLINE状态

模拟主节点异常宕机,例如 OOM,直接kill -9主 实例( doris01 ),通过其他可用节点查询到,那一个kill掉的实例从集群中被踢走了:

接下来我们再kill掉 新的 一个 实例( doris02

这个时候, 如果 doris02实例有会话一直未退出,则 UNREACHABLE状态将一直持续,而且此时,集群不满足N + 1,集群已经不可用。 待会话全部退出后,该实例也将从集群中被踢出

4 、恢复宕机节点(重启成功)

主节点可以重启成功, 把前面kill掉的一个节点拉起来,加入GR组里面 ,启动 doris01主节点,并加入MGR组

启动 doris02从节点、重启doris03从节点,再执行分别执行以下命令,重新加入MGR组里

查看集群状态,三个节点均为 ONLINE,表示集群恢复正常可用

5 、恢复宕机节点(重启失败)

如果两个 OOM的节点无法启动,则doris03节点降为单实例,然后重新搭建MGR集群,重启doris03实例,状态变为OFFLINE

禁用 read_only参数,如下所示:

应用程序切换到该实例即可使用,模拟基于 doris03实例,重新搭建MGR,doris03实例上,创建个新库hzmc_db,模拟业务在写入数据

doris03,启动单主模式,并模拟写上数据写入

修复 doris01、doris02,并成功启动后,分别执行START GROUP_REPLICATION;

doris01、02上验证,hzmc_tab已同步过去,修复完成

如果doris01、doris02无法修复,按新增节点的方式,扩容两个节点

相关推荐