该表包含有关数据节点状态的信息。对于集群中运行的每个数据节点,此表中的相应行提供节点的节点 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
所有数据节点的列中(请参阅
第 21.6.6 节,“NDB 集群单用户模式”)。看到其中一个STOPPING
states 并不一定意味着节点正在关闭,而是意味着它正在进入一个新状态。例如,如果您将集群置于单用户模式,您有时会看到数据节点STOPPING_2
在状态更改为之前简要报告它们的状态SINGLEUSER
。
该列使用的值范围与ndb_mgm客户端
命令
start_phase
的输出中使用的值范围相同
(请参阅第 21.6.1 节,“NDB Cluster Management Client 中的命令”)。如果节点当前未启动,则此列显示
。有关带有描述的 NDB Cluster 启动阶段的列表,请参阅
第 21.6.4 节,“NDB Cluster 启动阶段摘要”。
node_id
STATUS0
该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来完成集群的滚动重启。
已停止的节点未计入此表中。假设你有一个 NDB Cluster 有 4 个数据节点(节点 ID 1、2、3 和 4),并且所有节点都正常运行,那么这个表包含 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)