这是逻辑集群管理块,使用心跳机制处理集群中的节点成员。
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。