25.6.17.48 NDBinfo nodes 表
该表包含数据节点的状态信息。对于每个在集群中运行的数据节点,这个表中的每一行都提供了节点的节点ID、状态和 uptime。对于正在启动的节点,还显示当前启动阶段。
NDBinfo 表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
状态在集群处于单用户模式时显示在所有数据节点的状态栏中(请参阅第25.6.6节,“NDB Cluster Single User Mode”)。看到其中一个STOPPING
状态并不一定意味着节点正在关闭,但可能是它正进入新的状态。例如,如果将集群设置为单用户模式,您可以在数据节点短暂显示状态为STOPPING_2
后,状态栏中显示的状态将更改为SINGLEUSER
。
start_phase
列使用与ndb_mgm 客户端的
命令(见第25.6.1节,“NDB 集群管理客户端命令”)相同的值范围。如果节点当前未启动,则该列显示node_id
STATUS0
。关于 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)