ITPub博客

首页 > 数据库 > MySQL > MySQL MGR集群节点宕机恢复案例分析(二)

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

原创 MySQL 作者:龙山游龙 时间:2025-03-06 09:57:01 0 删除 编辑

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无法修复,按新增节点的方式,扩容两个节点 。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30310891/viewspace-3074927/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
传统商业、开源和国产据库领域十从业经验,TB级高并发数据库的管理经验。对于数据库内部原理、体系结构,数据页/块结构原理有着深刻认识;对于数据库新特性、分布式高可用架构和性能调优有着丰富的的实战经验。擅长故障诊断以及数据库异常打开及数据灾难挽救。

注册时间:2015-06-28

  • 博文量
    178
  • 访问量
    334693