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. go-zero微服务实战系列(八、如何处理每秒上万次的下单请求)

    在前几篇的文章中,我们花了很大的篇幅介绍如何利用缓存优化系统的读性能,究其原因在于我们的产品大多是一个读多写少的场景,尤其是在产品的初期,可能多数的用户只是过来查看商品,真正下单的用户非常少.但随着业 ...

  2. NC235250 牛可乐的翻转游戏

    NC235250 牛可乐的翻转游戏 题目 题目描述 牛可乐发明了一种新型的翻转游戏! 在一个有 \(n\) 行 \(m\) 列的棋盘上,每个格子摆放有一枚棋子,每一枚棋子的颜色要么是黑色,要么是白色. ...

  3. Android 12(S) 图像显示系统 - drm_hwcomposer 简析(下)

    必读: Android 12(S) 图像显示系统 - 开篇 合成方式 合成类型的定义:/hardware/interfaces/graphics/composer/2.1/IComposerClien ...

  4. .net MVC微信开发自定义View类型菜单时在相应控制器获取用户OpenID的问题

    因为公司的项目在接收微信服务器Post过来的数据包是有指定的入口,所以在相应控制器里无法接收到微信服务器Post过来的数据,所以无法获得OpenID,也尝试过先在入口哪里解析获得OpenID再通过Se ...

  5. 2022 07 13 第一小组 田龙跃 Java再学习笔记

    1.类名命名规则: 只能由数字字母,下划线,美元符号组成(不能以数字开头,尽量不要用下划线开头) 2.注释(养成多写注释的好习惯) 单行注释 // ctrl+/ 多行注释 // ctrl+shirt+ ...

  6. 项目配置yaml

    springboot的一些配置 #当循环调用时,就会报错 spring.main.allow-circular-references=true #配置mvc是需要使用一个@EnableWebMvc,不 ...

  7. OpenMP入门

    OpenMP入门 前情提要:并行(parallel):需要多个运算核心同时完成 其中有多处理器和单处理器多核两种实现方式,其中差异如下: 同一芯片上的多核通信速度更快 同一芯片上的多核能耗更低 Ope ...

  8. CF222C Reducing Fractions

    题目大意: 给出两个集合,第一个集合数的乘积是分子,第二个集合的数的乘积是分母,要求够造一个同样的集合,但是得到的分数是最简分数. 分析: 寻找思路并不复杂,对两个集合的每个数进行质因数分解,然后统计 ...

  9. Mybatis源码解读-插件

    插件允许对Mybatis的四大对象(Executor.ParameterHandler.ResultSetHandler.StatementHandler)进行拦截 问题 Mybatis插件的注册顺序 ...

  10. C#通过完整的例子,Get常用的2个套路,理解抽象方法,虚方法,接口,事件

    一.理解:抽象方法,虚方法,接口,事件 描述: 1.定义一个抽象父类"People": 要求: 1>3个属性:名字,性别,年龄: 2>一个普通方法"说话&qu ...