Documentation Home
MySQL 8.0 参考手册  / 第 23 章 MySQL NDB Cluster 8.0  / 23.6 NDB Cluster的管理  /  21.6.4 NDB Cluster 启动阶段总结

21.6.4 NDB Cluster 启动阶段总结

本节简要介绍了启动 NDB Cluster 数据节点时所涉及的步骤。更完整的信息可以在内部指南中的NDB Cluster Start Phases中找到。 NDB

node_id STATUS这些阶段与管理客户端命令 输出中报告的阶段相同 (请参阅第 21.6.1 节,“NDB Cluster Management Client 中的命令”)。这些开始阶段也在表的start_phase 列中报告ndbinfo.nodes

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

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

    笔记

    使用 重新启动节点时,不会删除磁盘数据文件 --initial

  • 系统重启。  集群启动并读取存储在数据节点中的数据。当集群在使用后关闭时,当希望集群从它停止的地方恢复操作时,会发生这种情况。

  • 节点重启。  这是在集群本身运行时集群节点的联机重启。

  • 初始节点重启。  这与节点重启相同,只是节点重新初始化并使用干净的文件系统启动。

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

  1. 获取节点ID

  2. 获取配置数据

  3. 分配用于节点间通信的端口

  4. 根据从配置文件中获取的设置分配内存

当一个数据节点或SQL节点第一次连接到管理节点时,它会保留一个集群节点ID。为确保没有其他节点分配相同的节点 ID,该 ID 会一直保留,直到该节点设法连接到集群并且至少有一个 ndbd报告该节点已连接。节点 ID 的保留由相关节点与ndb_mgmd之间的连接保护。

每个数据节点都初始化完成后,集群启动过程就可以进行了。此处列出了集群在此过程中经历的阶段:

  • 阶段 0。  和块开始NDBFS。 在以选项 NDBCNTR启动的那些数据节点上清除数据节点文件系统。--initial

  • Phase 1.  在这个阶段,所有剩余的 NDB内核块都被启动。建立 NDB Cluster 连接,建立块间通信,并启动心跳。在节点重启的情况下,还会检查 API 节点连接。

    笔记

    当一个或多个节点在第 1 阶段挂起而其余节点或多个节点在第 2 阶段挂起时,这通常表示网络出现问题。此类问题的一个可能原因是一台或多台集群主机具有多个网络接口。导致这种情况的另一个常见问题来源是群集节点之间通信所需的 TCP/IP 端口被阻塞。在后一种情况下,这通常是由于防火墙配置错误造成的。

  • 阶段 2.  内核NDBCNTR块检查所有现有节点的状态。选择主节点,并初始化集群模式文件。

  • 阶段 3.  和内核块在它们DBLQH之间 DBTC建立通信。启动类型确定;如果这是重新启动,则 DBDIH块获得执行重新启动的权限。

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

    对于系统重启:

    • 读取模式或模式。

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

    • 应用所有重做信息,直到达到最新的可恢复全局检查点。

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

  • 阶段 5。  数据节点启动的大部分与数据库相关的部分都在此阶段执行。对于初始启动或系统重启,先执行本地检查点,然后执行全局检查点。在此阶段开始定期检查内存使用情况,并执行任何所需的节点接管。

  • 阶段 6。  在此阶段,定义和设置节点组。

  • Phase 7.  仲裁节点被选中并开始运行。设置下一个备份 ID,备份磁盘写入速度也是如此。到达此开始阶段的节点标记为 Started。API 节点(包括 SQL 节点)现在可以连接到集群。

  • 阶段 8。  如果这是系统重新启动,则重建所有索引(按 DBDIH)。

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

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

  • 阶段101。  此时在节点重启或初始节点重启中,事件传递被移交给加入集群的节点。新加入的节点负责将其主要数据传递给订阅者。这个阶段也被称为 SUMA 切换阶段

在初始启动或系统重启完成此过程后,将启用事务处理。对于节点重启或初始节点重启,启动过程的完成意味着该节点现在可以充当事务协调器。