Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Summary of NDB Cluster Start Phases

25.6.4 NDB 集群启动阶段摘要

本节提供了简化的NDB集群数据节点启动步骤概述。更多详细信息,请参阅NDB 集群启动阶段,在《NDB Internals Guide》中。

这些阶段与管理客户端中的node_id STATUS命令的输出相同(参见第25.6.1节,“NDB集群管理客户端中的命令”)。这些启动阶段也在ndbinfo.nodes表的start_phase列中报告。

启动类型。  有几种不同的启动类型和模式,如下所示:

  • 初始启动.  集群以所有数据节点的干净文件系统开始。这可能发生在集群第一次启动时,或者当使用--initial选项重启所有数据节点时。

    Note

    磁盘数据文件不会在使用--initial选项重启节点时删除。

  • 系统重启。 集群启动并从数据节点中读取存储的数据。这发生在集群被关闭后重新启动,或者当需要让集群从停止的地方恢复操作时。

  • 节点重启。 这是在线重启一个集群节点,而集群本身正在运行。

  • 初始节点重启。 这与节点重启相同,但节点被重新初始化,并以干净的文件系统启动。

设置和初始化(阶段-1)。 在启动之前,每个数据节点(ndbd 进程)必须被初始化。初始化包括以下步骤:

  1. 获取节点ID

  2. 获取配置数据

  3. 为节点间通信分配端口

  4. 根据配置文件设置分配内存

当一个数据节点或SQL节点首次连接到管理节点时,它会保留一个集群节点ID。为了确保没有其他节点分配相同的节点ID,这个ID在节点成功连接到集群并至少有一个ndbd 报告该节点已连接时才会释放。这个保留节点ID的过程由连接到管理节点的节点及其与ndb_mgmd 的连接保护。

在每个数据节点初始化后,集群启动过程可以继续进行。该过程中集群经过的阶段如下所列:

  • 第0阶段。 NDBFSNDBCNTR 块开始运行。在使用 --initial 选项启动的数据节点上,会清除数据节点文件系统。

  • 第1阶段。 在这个阶段中,所有剩余的 NDB 核心块被启动。NDB 集群连接建立,间接块之间的通信开始,并启动心跳。在节点重启的情况下,也会检查API节点连接。

    Note

    当一或多个节点在第1阶段卡住,而其余节点则在第2阶段卡住时,这通常表明存在网络问题。这种情况可能是由集群主机有多个网络接口引起的,也可能是由于阻塞了用于集群节点之间通信所需的TCP/IP端口。这通常是由配置不当的防火墙造成的。

  • 第2阶段。 NDBCNTR 核心块检查所有现有节点的状态。选择主节点,并初始化集群架构文件。

  • 阶段3.  DBLQHDBTC 内核块设置它们之间的通信。启动类型被确定;如果这是一个重启,DBDIH 块获得执行重启的许可。

  • 阶段4.  对于初始启动或初始节点重启,redo日志文件被创建。这些文件的数量等于NoOfFragmentLogFiles

    对于系统重启:

    • 读取架构或架构集。

    • 从本地检查点读取数据。

    • 将所有redo信息应用到最新可恢复的全局检查点之前。

    对于节点重启,找到redo日志的尾部。

  • 阶段5.  数据节点启动的大部分数据库相关工作在这个阶段进行。对于初始启动或系统重启,本地检查点会被执行,然后是全局检查点。在这个阶段开始,内存使用的周期性检查也开始,并且如果需要,将会进行节点接管。

  • 阶段6.  在这个阶段,节点组被定义并设置。

  • 阶段7.  仲裁节点被选定并开始工作。下一个备份ID被设置,以及备份磁盘写入速度。到达这个启动阶段的节点将会标记为Started。现在,API节点(包括SQL节点)可以连接到集群。

  • 第8阶段.  如果这是一个系统重启,所有索引都会被重建(由DBDIH执行)。

  • 第9阶段.  节点内部启动变量被重置。

  • 第100阶段(已废弃)。  以前,在节点重启或初始节点重启期间,API节点可以连接到节点并开始接收事件。目前,这个阶段为空。

  • 第101阶段.  在节点重启或初始节点重启过程中,此时点在事件分发被交由加入集群的节点。新加入的节点负责将其主要数据传递给订阅者。这一阶段也称为SUMA交接阶段

在完成初始启动或系统重启过程后,事务处理就被启用。对于节点重启或初始节点重启,启动过程的完成意味着节点现在可以作为事务协调器工作。