KingbaseES V8R3 集群运维案例--kingbase_monitor.sh启动”two master“案例
案例说明:
KingbaseES V8R3集群,执行kingbase_monitor.sh启动集群,出现“two master”节点的故障,启动集群失败;通过手工sys_ctl启动各节点数据库服务后,并手工重启kingbasecluster(restartcluster.sh)服务,集群运行正常。故障现象如下图所示:
手工启动数据库服务流复制正常:
手工启动kingbasecluster服务集群状态正常:
适用版本:
KingbaseES V8R3
一、问题分析:
1、分析kingbase_monitor.sh执行过程
执行:sh -x kingbase_monitor.sh start
Tips:
集群在启动时,通过读取recovery.conf文件判断主备库,对于主库没有recovery.conf(recovery.done)文件,而对于备库在data目录下有recovery.conf文件,可以通过读取到文件信息后,判断节点是否是备库。
---如上图所示,在集群启动过程中通过查询节点recovery.conf文件获取判断主备库状态信息(主库无recovery.conf),在连接227节点获取到主库的primary_conninfo信息时,返回信息为空,故判断227节点也是master节点。
如下图所示,是正常启动的返回信息:
2、远程执行ssh连接227节点查看recovery.conf文件信息
---如上图所示,返回的结果为空。
正常查询结果:(返回primary_conninfo信息)
3、检查227节点recovery.conf文件
检查发现227节点的data目录存储位置有问题。
三、问题解决
因为227节点是刚刚重做的备节点,data目录原来做了软链接,重做后忘记建立链接,导致227节点的data目录访问错误,重新建立软连接后,集群正常,问题解决。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」