MySQL 8.0 リファレンスマニュアル


23.5.14.38 ndbinfo nodes テーブル

このテーブルには、データノードのステータスに関する情報が格納されます。 このテーブルの対応する行には、クラスタ内で実行されているデータノードごとに、ノードのノード ID、ステータス、および稼働時間が示されます。 起動中のノードごとに、現在の起動フェーズも示されます。

nodes テーブルには、次のカラムがあります:

  • node_id

    クラスタ内のデータノードの一意のノード ID。

  • uptime

    ノードが最後に起動されてからの秒単位の時間。

  • status

    データノードの現在のステータス。可能性のある値についてはテキストを参照してください。

  • start_phase

    データノードが起動中の場合、現在の起動フェーズ。

  • config_generation

    このデータノードで使用中のクラスタ構成ファイルのバージョン。

メモ

uptime カラムは、このノードが最後に起動または再起動されてから実行している時間を秒単位で示します。 これは BIGINT 値です。 この図には、ノードの起動に実際に必要な時間が含まれています。つまり、このカウンタは、ndbd または ndbmtd が最初に起動された時点の実行を開始します。したがって、まだ起動が終了していないノードの場合でも、uptime にゼロ以外の値が表示されることがあります。

status カラムは、ノードの現在のステータスを示します。 これは、NOTHINGCMVMISTARTINGSTARTEDSINGLEUSERSTOPPING_1STOPPING_2STOPPING_3、または STOPPING_4 のいずれかです。 ステータスが STARTING の場合は、start_phase カラムで現在の起動フェーズを確認できます (このセクションの後半を参照してください)。 クラスタがシングルユーザーモードになっているときは、すべてのデータノードの status カラムに SINGLEUSER が表示されます (セクション23.5.6「NDB Cluster のシングルユーザーモード」を参照してください)。 いずれかの STOPPING 状態が表示されていることは必ずしもノードが停止していることを意味するわけではありませんが、新しい状態になることを意味する場合があります。 たとえば、クラスタをシングルユーザーモードにすると、ステータスが SINGLEUSER に変更される前に、データノードがその状態を STOPPING_2 として簡単にレポートする場合があります。

start_phase カラムでは、ndb_mgm クライアントの node_id STATUS コマンドの出力で使用されるものと同じ範囲の値が使用されます (セクション23.5.1「NDB Cluster 管理クライアントのコマンド」を参照してください)。 ノードが現在起動中でない場合、このカラムは 0 を示します。 NDB Cluster の起動フェーズと説明の一覧については、セクション23.5.4「NDB Cluster 起動フェーズのサマリー」 を参照してください。

config_generation カラムは、各データノードで有効になっているクラスタ構成のバージョンを示します。 これは、構成パラメータの変更を行うために、クラスタのローリング再起動を実行する際に役立つことがあります。 たとえば、次の SELECT ステートメントの出力から、ノード 1、2、4 では最新バージョンのクラスタ構成 (6) が使用されているが、ノード 3 ではまだ使用されていないことを確認できます。

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) があり、すべてのノードが正常に実行されているとします。このテーブルには、データノードごとに 1 つずつ 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)

関連キーワード:  NDB, テーブル, ndbinfo, ノード, ndb, データ, 起動, 構成, 管理, クラスタ