本文分享自华为云社区《GaussDB(DWS) FI manager节点健康检查逻辑梳理》,作者:配音师 。

一、相关背景

1.FI Manager作为运维系统,上面可以部署MPPDB、MRS等多种服务。各个服务,以MPPDB为例,又是多个节点组成的集群。Manager对这些节点及节点上的服务进程进行健康检查与问题上报,负责这块功能的服务叫做om-agent。

二、执行逻辑

1.om-agent有健康检查、ha检查等多项监控,本文以健康检查为例,om-agent启动一个ProcessHealthMonitorThread线程,定期检查om-agent所在节点上服务运行健康情况。

2.如ProcessHealthMonitorThread的每个检查线程,在configurations.xml配置文件中有如下图的一些配置项,包括检查所需执行的脚本路径、检查间隔周期等等。

3.每到间隔时间,就会调用如上图为例所配置的执行脚本,本文举例的MPPDB服务脚本中健康检查的命令为:gs_om -t status -h "${hostName}" | grep node_state | awk -F': ' '{print $2}'

4.如果以上检查发现服务进程异常,则会由om-agent发起restartProcess,重启该节点上的服务进程,实际调用mpp-stop.sh与mpp-start.sh脚本。

二、常见问题

1.健康检查会在分钟级的时间间隔进行检查,如果发现服务进程异常,下发重启命令。但是,一些后台故障场景,恢复所需时间很长,例如MPPDB的实例build常常需要以小时计。这时,触发om-agent的健康检查机制,会频繁重启后台进程,导致修复失败。

2.解决方法:备份脚本后,进行修改/opt/huawei/Bigdata/FusionInsight_MPPDB_8.0.0/install/FusionInsight-MPPDB-8.0.0/sbin/mpp-server-monitor.sh脚本,直接返回0,让om-agent跳过服务进程检查的逻辑。等待后台修复完成,再将脚本恢复。

点击关注,第一时间了解华为云新鲜技术~​

梳理数仓FI manager节点健康检查逻辑相关推荐

  1. nginx后端节点健康检查

    一.nginx健康检查的三种方式 1.ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带)官网地址:http://nginx.org/en/d ...

  2. apisix健康检查测试

    健康检查简介 健康检查的目的是动态地将上游服务器标记为健康或不健康的状态.开启健康检查功能后,当后端某台上游服务器健康检查出现异常时,负载均衡会自动将新的请求分发到其它健康检查正常的上游服务器上:而当 ...

  3. Knative Serving 健康检查机制分析

    作者|  阿里云智能事业群技术专家牛秋霖(冬岛) 导读:从头开发一个Serverless引擎并不是一件容易的事情,今天咱们就从Knative的健康检查说起.通过健康检查这一个点来看看Serverles ...

  4. Knative 健康检查机制分析

    从头开发一个 Serverless 引擎并不是一件容易的事情,今天咱们就从 Knative 的健康检查说起.通过健康检查这一个点来看看 Serverless 模式和传统的模式都有哪些不同以及 Knat ...

  5. 一文读懂 SuperEdge 分布式健康检查 (边端)

    作者:杜杨浩,腾讯云高级工程师,热衷于开源.容器和Kubernetes.目前主要从事镜像仓库.Kubernetes集群高可用&备份还原,以及边缘计算相关研发工作. 前言 SuperEdge 是 ...

  6. Kubernetes之健康检查与服务依赖处理

    本文讲的是Kubernetes之健康检查与服务依赖处理[编者的话]对线上业务来说,保证服务的正常稳定是重中之重,对故障服务的及时处理避免影响业务以及快速恢复一直是开发运维的难点.Kubernetes提 ...

  7. 数仓(三):分层设计 ODS-DWD-DWS-ADS

    数据仓库数据模型设计是构建数据仓库的核心过程之一.其目的是将多个数据源中的数据整合到一个统一的数据模型中,以支持业务分析和决策.然而,在数仓建设的过程中,由于未能完全按照规范操作, 从而导致数据仓库建 ...

  8. nginx后端节点的健康检查

    简介 本文主要介绍nginx后端节点的健康检查,在此之前我们先来介绍下nignx反向代理主要使用的模块. nginx原生模块介绍 我们在使用nginx做反向代理都会使用到以下两个模块: 1.ngx_h ...

  9. Nacos8# 集群中节点之间健康检查

    引言 当新的节点加入集群或者集群中有节点下线了,集群之间可以通过健康检查发现.健康检查的频率是怎么样的?节点的状态又是如何变动的?状态的变动又会触发什么动作.带着这些问题本文捋一捋. 一.内容提要 内 ...

最新文章

  1. 防止网络请求(或其他回调)引用,从而造成内存泄漏
  2. 【Linux】一步一步学Linux——nice命令(127)
  3. 百度之后,电子银行还安全么?
  4. Leetcode--75. 颜色分类
  5. c语言程序机试题及答案,C语言程序设计试题及答案解析(二)
  6. MeshLab编译理解
  7. java 构造函数的执行顺序
  8. Mac 如何查看电脑的蓝牙版本信息
  9. java中操作字符串的函数_java 常用字符串操作
  10. 封装和使用Docker流程
  11. mysql绿色版安装、局域网访问配置
  12. Rplidar学习(二)—— SDK库文件学习
  13. 制作AR换装游戏(上篇AR识图)#1024程序员节#
  14. 创建型模式Creational Patterns之单例模式singleton
  15. Fortran NINT函数意思
  16. [附源码]计算机毕业设计JAVAjsp小微企业库存管理系统
  17. Maven中settings文件详解
  18. 如何破坏服务器系统,如何修正文件系统超块中毁坏的幻数
  19. springboot项目如何优雅停机
  20. K-Means聚类及调用sklearn库代码实现

热门文章

  1. 程序开源与不开源区别_什么是开源程序办公室? 为什么需要一个?
  2. openstack 功能_为什么我们在OpenStack中冻结功能
  3. 缓冲区 | 没吃透Netty 缓冲区,还能算得上Java老司机?
  4. 计算机单招语文试题,2019年高职单招语文模拟试题
  5. 脉冲列输入型脉冲比较数字伺服系统的原理图
  6. vc中提取curve
  7. 信息技术课与计算机课有关系吗,信息技术教学与计算机教学的区别与联系
  8. c语言程序设计指针教学,C语言程序设计中指针教学要点分析
  9. matlab测量液体液位,基于MATLAB三容水箱液位控制系统.doc
  10. 【LeetCode】79-单词搜索