此表包含有关数据节点状态的信息。对于在集群中运行的每个数据节点,此表中的相应行将提供节点的节点 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
列中查看当前的启动阶段(见本节后面)。当集群处于单用户模式时,所有数据节点的 status
列中都会显示 SINGLEUSER
(见 第 25.6.6 节,“NDB 集群单用户模式”)。看到其中一个 STOPPING
状态并不一定意味着节点正在关闭,而是可能意味着它正在进入一个新的状态。例如,如果您将集群置于单用户模式,有时您可能会看到数据节点将其状态短暂地报告为 STOPPING_2
,然后状态更改为 SINGLEUSER
。
start_phase
列使用与 ndb_mgm 客户端
命令(见 第 25.6.1 节,“NDB 集群管理客户端中的命令”)中使用的相同取值范围。如果节点当前未启动,则此列显示 node_id
STATUS0
。有关 NDB 集群启动阶段及其描述的列表,请参阅 第 25.6.4 节,“NDB 集群启动阶段摘要”。
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 集群,并且所有节点都在正常运行,那么此表包含 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)