此表包含有关数据节点状态的信息。对于集群中运行的每个数据节点,此表中对应的一行提供节点的节点 ID、状态和运行时间。对于正在启动的节点,它还显示当前启动阶段。
nodes
表包含以下列
node_id
集群中数据节点的唯一节点 ID。
uptime
节点上次启动后运行的时间,以秒为单位。
status
数据节点的当前状态;有关可能的取值,请参阅文本。
start_phase
如果数据节点正在启动,则为当前启动阶段。
config_generation
此数据节点上使用的集群配置文件版本。
备注
uptime
列显示此节点从上次启动或重新启动后运行的时间,以秒为单位。这是一个 BIGINT
值。此数字包括实际启动节点所需的时间;换句话说,此计数器从 ndbd 或 ndbmtd 首次调用那一刻开始运行;因此,即使对于尚未完成启动的节点, uptime
也可能显示非零值。
status
列显示节点的当前状态。这是以下之一: NOTHING
、 CMVMI
、 STARTING
、 STARTED
、 SINGLEUSER
、 STOPPING_1
、 STOPPING_2
、 STOPPING_3
或 STOPPING_4
。当状态为 STARTING
时,您可以在 start_phase
列中看到当前启动阶段(参见本节后面的内容)。当集群处于单用户模式时, SINGLEUSER
将在所有数据节点的 status
列中显示(参见 第 25.6.6 节,“NDB Cluster 单用户模式”)。看到其中一个 STOPPING
状态并不一定意味着节点正在关闭,而是可能意味着它正在进入一个新的状态。例如,如果您将集群置于单用户模式,您有时可能会看到数据节点短暂地将其状态报告为 STOPPING_2
,然后状态更改为 SINGLEUSER
。
start_phase
列使用与 ndb_mgm 客户端
命令(参见 第 25.6.1 节,“NDB Cluster 管理客户端中的命令”)输出中使用的值范围相同。如果节点当前未启动,则此列显示 node_id
STATUS0
。有关带说明的 NDB Cluster 启动阶段列表,请参见 第 25.6.4 节,“NDB Cluster 启动阶段摘要”。
config_generation
列显示每个数据节点上有效的集群配置版本。在执行集群的滚动重启以更改配置参数时,这很有用。例如,从以下 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 以完成集群的滚动重启。
已停止的节点不会在此表中列出。假设您有一个包含 4 个数据节点(节点 ID 为 1、2、3 和 4)的 NDB Cluster,并且所有节点都在正常运行,那么此表包含 4 行,每个数据节点 1 行
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)