这是逻辑集群管理块,使用心跳机制处理集群中的节点成员。
QMGR
负责在数据节点发生故障时轮询数据节点,并确定该节点确实发生故障并应从集群中删除。此块包含以下文件,位于
storage/ndb/src/kernel/blocks/qmgr
:
Qmgr.hpp
:定义 Qmgr 类和相关结构,包括用于检测节点故障和集群分区的结构。
QmgrInit.cpp
: 实现 的数据和记录初始化方法Qmgr
,以及它的析构函数。
QmgrMain.cpp
:包含用于监视心跳、检测和处理
“裂脑”问题以及某些启动阶段的管理的例程。
timer.hpp
:定义
Timer
类,用于
NDB
保持独立于系统时钟的严格计时。
该块还有助于数据节点启动的早期阶段。
该QMGR
块由
Qmgr
类实现,其定义可在文件中找到
storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp
。