This table contains information on the status of data nodes. For each data node that is running in the cluster, a corresponding row in this table provides the node's node ID, status, and uptime. For nodes that are starting, it also shows the current start phase.
The following table provides information about the columns in
the nodes table. For each column, the table
shows the name, data type, and a brief description. Additional
information can be found in the notes following the table.
| Column Name | Type | Description |
|---|---|---|
node_id | integer | The data node's unique node ID in the cluster. |
uptime | integer | Time since the node was last started, in seconds. |
status | string | Current status of the data node; see text for possible values. |
start_phase | integer | If the data node is starting, the current start phase. |
config_generation | integer | The version of the cluster configuration file in use on this data node. |
The uptime column shows the time in seconds
that this node has been running since it was last started or
restarted. This is a BIGINT
value. This figure includes the time actually needed to start
the node; in other words, this counter starts running the moment
that ndbd or ndbmtd is
first invoked; thus, even for a node that has not yet finished
starting, uptime may show a non-zero value.
The status column shows the node's
current status. This is one of: NOTHING,
CMVMI, STARTING,
STARTED, SINGLEUSER,
STOPPING_1, STOPPING_2,
STOPPING_3, or STOPPING_4.
When the status is STARTING, you can see the
current start phase in the start_phase column
(see later in this section). SINGLEUSER is
displayed in the status column for all data
nodes when the cluster is in single user mode (see
Section 7.8, “MySQL Cluster Single User Mode”). Seeing one of
the STOPPING states does not necessarily mean
that the node is shutting down but can mean rather that it is
entering a new state; for example, if you put the cluster in
single user mode, you can sometimes see data nodes report their
state briefly as STOPPING_2 before the status
changes to SINGLEUSER.
The start_phase column uses the same range of
values as those used in the output of the
ndb_mgm client
command (see
Section 7.2, “Commands in the MySQL Cluster Management Client”). If the
node is not currently starting, then this column shows
node_id STATUS0. For a listing of MySQL Cluster start
phases with descriptions, see
Section 7.1, “Summary of MySQL Cluster Start Phases”.
The config_generation column was added in
MySQL Cluster NDB 7.0.24 and MySQL Cluster NDB 7.1.13. This
column shows which version of the cluster configuration is in
effect on each data node. This can be useful when performing a
rolling restart of the cluster in order to make changes in
configuration parameters. For example, from the output of the
following SELECT statement, you
can see that node 3 is not yet using the latest version of the
cluster configuration (6) although nodes 1,
2, and 4 are doing so:
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)
Therefore, for the case just shown, you should restart node 3 to complete the rolling restart of the cluster.
When upgrading to MySQL Cluster NDB 7.0.24 or MySQL Cluster
NDB 7.1.13 from a previous version of MySQL Cluster, you
should run mysql_upgrade on all MySQL
Servers that should connect to the cluster, in order to enable
support for the new config_generation
column. Otherwise, when you attempt to access this table, you
get the warning Table 'ndb$nodes' is defined
differently in NDB, there are more columns
available...
Nodes that are stopped are not accounted for in this table. Suppose that you have a MySQL Cluster with 4 data nodes (node IDs 1, 2, 3 and 4), and all nodes are running normally, then this table contains 4 rows, 1 for each data node:
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)
If you shut down one of the nodes, only the nodes that are still
running are represented in the output of this
SELECT statement, as shown here:
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)

User Comments
Add your own comment.