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


25.6.17.48 NDBinfo nodes 表

该表包含数据节点的状态信息。对于每个在集群中运行的数据节点,这个表中的每一行都提供了节点的节点ID、状态和 uptime。对于正在启动的节点,还显示当前启动阶段。

NDBinfo 表nodes包含以下列:

  • node_id

    集群中的数据节点的唯一节点ID。

  • uptime

    自上次启动以来经过的时间,单位为秒。

  • status

    数据节点的当前状态;请参阅文本中的可能值。

  • start_phase

    如果数据节点正在启动,当前启动阶段。

  • config_generation

    在这个数据节点上使用的集群配置文件版本号。

uptime 列显示自上一次启动或重启以来,这个节点已经运行的秒数。这是一个BIGINT 值。这一数字包括实际需要启动节点的时间;换言之,这个计数器从ndbdndbmtd 首次被调用时开始运行;因此,即使是一个尚未完成启动的节点,uptime 也可能显示非零值。

状态栏(status)显示节点的当前状态。这可能是:NOTHINGCMVMISTARTINGSTARTEDSINGLEUSERSTOPPING_1STOPPING_2STOPPING_3STOPPING_4。当状态为STARTING时,您可以在状态栏(start_phase)中看到当前启动阶段(请参阅本节后续部分)。SINGLEUSER状态在集群处于单用户模式时显示在所有数据节点的状态栏中(请参阅第25.6.6节,“NDB Cluster Single User Mode”)。看到其中一个STOPPING状态并不一定意味着节点正在关闭,但可能是它正进入新的状态。例如,如果将集群设置为单用户模式,您可以在数据节点短暂显示状态为STOPPING_2后,状态栏中显示的状态将更改为SINGLEUSER

start_phase 列使用与ndb_mgm 客户端的node_id STATUS 命令(见第25.6.1节,“NDB 集群管理客户端命令”)相同的值范围。如果节点当前未启动,则该列显示0。关于 NDB 集群启动阶段的列表和描述,请见第25.6.4节,“NDB 集群启动阶段总结”

config_generation 列显示每个数据节点上当前有效的集群配置版本。这可以在执行rolling restart以更改配置参数时非常有用。例如,从以下SELECT 语句的输出中,您可以看到节点 3 尚未使用最新版本的集群配置(6),而节点 1、2 和 4 则已这样做:

mysql> USE ndbinfo;
Database changed
mysql> SELECT * FROM nodes;
+---------+--------+---------+-------------+-------------------+
| node_id | uptime | status  | start_phase | config_generation |
+---------+--------+---------+-------------+-------------------+
|       1 |  10462 | STARTED |           0 |                 6 |
|       2 |  10460 | STARTED |           0 |                 6 |
|       3 |  10457 | STARTED |           0 |                 5 |
|       4 |  10455 | STARTED |           0 |                 6 |
+---------+--------+---------+-------------+-------------------+
2 rows in set (0.04 sec)

因此,对于刚刚显示的案例,您应该重新启动节点 3以完成rolling restart。

停止的节点不在这个表中考虑。假设您有一个 NDB 集群,包含 4 个数据节点(节点 ID 1、2、3 和 4),所有节点都正常运行,那么这个表中包含 4 行,每行对应一个数据节点:

mysql> USE ndbinfo;
Database changed
mysql> SELECT * FROM nodes;
+---------+--------+---------+-------------+-------------------+
| node_id | uptime | status  | start_phase | config_generation |
+---------+--------+---------+-------------+-------------------+
|       1 |  11776 | STARTED |           0 |                 6 |
|       2 |  11774 | STARTED |           0 |                 6 |
|       3 |  11771 | STARTED |           0 |                 6 |
|       4 |  11769 | STARTED |           0 |                 6 |
+---------+--------+---------+-------------+-------------------+
4 rows in set (0.04 sec)

如果您关闭其中一个节点,只有仍在运行的节点在该SELECT语句的输出中被表示,如下所示:

ndb_mgm> 2 STOP
Node 2: Node shutdown initiated
Node 2: Node shutdown completed.
Node 2 has shutdown.
mysql> SELECT * FROM nodes;
+---------+--------+---------+-------------+-------------------+
| node_id | uptime | status  | start_phase | config_generation |
+---------+--------+---------+-------------+-------------------+
|       1 |  11807 | STARTED |           0 |                 6 |
|       3 |  11802 | STARTED |           0 |                 6 |
|       4 |  11800 | STARTED |           0 |                 6 |
+---------+--------+---------+-------------+-------------------+
3 rows in set (0.02 sec)