KingbaseES R3集群网关检测工作机制:

1、Cluster下watchdog进程在固定间隔时间,通过ping 网关地址监控链路的连通性,如果连通网关地址失败,则修改cluster status,比如将“master”修改为“lost”,并摘除主节点的Cluster VIP。

2、在部署完成cluster后,会通过crond定时(每隔1分钟)运行network_rewind.sh脚本,在脚本通过函数checktrustip(),检测网关地址的连通性,如果网关地址无法连通,ping 3次后失败,则关闭kingbaseES数据库实例,清除DB VIP。

3、在部署完成cluster后,会通过crond定时(每隔1分钟)运行restartcluster.sh脚本,在脚本中通过函数 pingtrustip(),监控网关地址连通性,如果网关地址无法连通,ping 3次后失败,默认等待10s后,关闭cluster服务进程。

4、网关地址恢复正常后,restartcluster.sh进程会重新启动cluster服务进程,但是数据库进程仍然需要人工介入,手工启动。

案例信息:

一、案例分析过程

1、主备库连接网关失败

主库“2022-04-06 15:57:23”秒,cluster.log记录主库连接网关失败。

备库“2022-04-06 15:57:32”秒,cluster.log记录主库连接网关失败。

2、主备库尝试连接网关

=注:主备库按照参数HEALTH_CHECK_MAX_RETRIES,HEALTH_CHECK_RETRY_DELAY配置的阈值进行网关连接尝试。=

3、2022-04-06 15:57:44 主库多次连接网关失败,主库数据库服务被shutdown,触发主备切换。

4、2022-04-06 15:57:44 发生主备切换时,备库仍然也不能ping通网关,导致备库的数据库服务也被shutdown,切换失败。

5、最终结果是,因为主备库都和网关无法正常通讯,主备库数据库服务都是shutdown;但后面网关可以ping 通时,kingbasecluster服务被重启,但是数据库服务需要人工参与启动。

二、总结

1、KingbaseCluster的节点通过测试和网关地址的连通性来判断集群的运行环境及节点的状态。

2、如果网关ip出现故障,导致集群所有的节点无法连通网关地址时,集群为了保护后台数据库数据的一致性将会关闭集群,包括后台数据库服务。

3、在网关恢复正常后,将重启集群的管理服务(kingbasecluster),但是后台数据库服务需要人工判断后手工启动。

4、为了确保集群的稳定,可以配置多个网关地址,降低因为网关故障而导致集群停止服务的因素。

5、在新的版本中,提升了网关故障的处理能力,可以参阅官网文档《支持网关故障》章节。

https://help.kingbase.com.cn/stage-api/profile/document/kes/v8r3/html/highly/availability/high-a-config.html#id7

KingbaseES V8R3 集群专用机网关失败分析案例的更多相关文章

  1. KingbaseES V8R3集群运维案例之---主库系统down failover切换过程分析

    ​ 案例说明: KingbaseES V8R3集群failover时两个cluster都会触发,但只有一个cluster会调用脚本去执行真正的切换流程,另一个有对应的打印,但不会调用脚本,只是走相关的 ...

  2. KingbaseES V8R3集群维护案例之---在线添加备库管理节点

    案例说明: 在KingbaseES V8R3主备流复制的集群中 ,一般有两个节点是集群的管理节点,分为master和standby:如对于一主二备的架构,其中有两个节点是管理节点,三个数据节点:管理节 ...

  3. KingbaseES V8R3集群管理和维护案例之---failover切换wal日志变化分析

    ​ 案例说明: 本案例通过对KingbaseES V8R3集群failover切换过程进行观察,分析了主备库切换后wal日志的变化,对应用者了解KingbaseES V8R3(R6) failover ...

  4. KingbaseES V8R3集群管理维护案例之---集群迁移单实例架构

    案例说明: 在生产中,需要将KingbaseES V8R3集群转换为单实例架构,可以采用以下方式快速完成集群架构的迁移. 适用版本: KingbaseES V8R3 当前数据库版本: TEST=# s ...

  5. KingbaseES R6 集群repmgr.conf参数'recovery'测试案例(一)

    KingbaseES R6集群repmgr.conf参数'recovery'测试案例(一) 案例说明: 在KingbaseES R6集群中,主库节点出现宕机(如重启或关机),会产生主备切换,但是当主库 ...

  6. KingbaseES V8R6集群维护之--修改数据库服务端口案例

    ​ 案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的'port'参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应 ...

  7. KingbaseES R3 集群cluster日志切割和清理案例

    案例说明: 对于KingbaseES R3集群的cluster日志默认系统是不做切割和清理的,随着运行时长的增加,日志将增长为一个非常大的文件,占用比较大的磁盘空间,并且在分析问题读取大文件时效率很低 ...

  8. KingbaseES R6 集群修改物理IP和VIP案例

    在用户的实际环境里,可能有时需要修改主机的IP,这就涉及到集群的配置修改.以下以例子的方式,介绍下KingbaseES R6集群如何修改IP. 一.案例测试环境 操作系统: [KINGBASE@nod ...

  9. KingbaseES V8R3集群运维案例之---用户自定义表空间管理

    ​案例说明: KingbaseES 数据库支持用户自定义表空间的创建,并建议表空间的文件存储路径配置到数据库的data目录之外.本案例复现了,当用户自定义表空间存储路径配置到data下时,出现的故障问 ...

随机推荐

  1. Kubebuilder简介与架构

    什么是Kubebuilder Kubebuilder是一个用Go原因构建Kubernetes APIs的框架,通过使用KubeBuilder,用户可以遵循一套简单的编程框架,使用CRD构建API.Co ...

  2. UiPath手把手教程

    UiPath下载安装与激活 链接: https://pan.baidu.com/s/1o5Ur-QNTxsnlhi97-losJQ 提取码: 9dmf 复制这段内容后打开百度网盘手机App,操作更方便 ...

  3. Python:socket编程教程

    ocket是基于C/S架构的,也就是说进行socket网络编程,通常需要编写两个py文件,一个服务端,一个客户端. 首先,导入Python中的socket模块: import socket Pytho ...

  4. NC16564 [NOIP2012]借教室

    NC16564 [NOIP2012]借教室 题目 题目描述 ​ 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借 ...

  5. Educational Codeforces Round 129 (Rated for Div. 2) A-D

    Educational Codeforces Round 129 (Rated for Div. 2) A-D A 题目 https://codeforces.com/contest/1681/pro ...

  6. 抓包整理外篇——————autoResponder、composer 、statistics [ 三]

    前言 经过了前文的介绍的部分已经能够为自己抓包提供一个舒适的环境了,但是舒服的拿到我们的包后,可能有些需求还是难以搞定,fiddler 提供了我们一些其他模块,让我们工作轻松,请往下看. 正文 aut ...

  7. Linux系列之查找命令

    前言 Linux 有四个常用的查找命令:locate.whereis.which 和 find.本文介绍它们的区别和简单用法. locate命令 这个命令将检查你的整个文件系统,并找到该关键词的每一次 ...

  8. Visdom

    安装visdom pip install visdom 启动visdom服务 python -m visdom.server visdom绘制各种图形: visdom属性介绍: 实例: from vi ...

  9. 【cartogarpher_ros】三: 发布和订阅雷达scan信息

    上一节介绍和测试了cartographer的官方demo. 本节会编写ros系统中,最常用的激光雷达LaserScan传感数据的订阅和发布,方便在cartographer中加入自己的数据进行建图与定位 ...

  10. Lambda表达式有参数有返回值的练习(自定义接口)和Lambda省略格式&Lambda使用前提

    给定一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值 使用L ambdo的标准格式调用invokeCalc方法,完成120和130的相加计算 public in ...