GaussDB(DWS)集群管理系列:CM异常检测插件介绍之HANG检测插件
【摘要】 HANG检测是集群管理组件CM对实例进行phony dead(假死)检查的一种检测手段。在检测到实例出现异常时,进行相应的仲裁,以期恢复集群的正常功能。本文对HANG检测插件的配置和机制做了介绍。
一、HANG检测插件的用途
HANG检测是集群管理组件CM对实例进行phony dead(假死)检查的一种检测手段。在检测到实例出现异常时,进行相应的仲裁,以期恢复集群的正常功能。
二、HANG检测插件的配置
集群配置文件中,HANG检测插件的默认配置参数如下:
abnormal_check_phony_dead = '{ "_name" : "libac_phony_dead.so", "check_interval" : "180", "phony_dead_effective_time" : "5", "cmserver_phony_dead_restart_interval" : "21600" }'
关于HANG检测插件的所有可配参数的说明:
参数名称 | 参数说明 | 取值范围 | 默认取值 |
---|---|---|---|
_name | 插件名称 | libac_phony_dead.so | libac_phony_dead.so |
_enable | HANG检测插件的单独开关。该参数默认不出现在配置文件中,参数省略时默认开启。 | on/off | on |
check_interval | cm_agent检测实例异常状态的时间间隔。 | 非负整型,单位为秒。 | 180 |
phony_dead_effective_time | cm_server连续收到同一实例上报hang的次数超过该参数,将仲裁实例重启;如果该实例为DN或GTM主机,将仲裁主备倒换。 | 非负整型。 | 5 |
cmserver_phony_dead_restart_interval | cm_server通过hang检测机制仲裁实例重启后,再次触发hang检测仲裁的时间间隔。 | 非负整型,单位为秒。 | 21600(即六个小时) |
thread_dead_effective_time | cm_agent线程状态检测的时间间隔。该参数默认不出现在配置文件中。 | 非负整型,单位为秒。 | 600 |
三、HANG检测插件的作用机制
HANG检测插件作为独立插件依托于异常检测框架,定期对实例进行检测。以CN实例的检测为例,完整的检测流程如下:
HANG检测的检测方式包括三种:
(1) 与实例建立短链接;
(2) 执行SQL;
(3) 进行磁盘检查。
以上任一检测失败即认为实例发生phony dead,当phony dead达到一定次数后,cm会进行相应的仲裁处理,对实例进行重启。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)