このテーブルには、データノードのステータスに関する情報が格納されます。 このテーブルの対応する行には、クラスタ内で実行されているデータノードごとに、ノードのノード 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
が表示されます (セクション23.5.6「NDB Cluster のシングルユーザーモード」を参照してください)。 いずれかの STOPPING
状態が表示されていることは必ずしもノードが停止していることを意味するわけではありませんが、新しい状態になることを意味する場合があります。 たとえば、クラスタをシングルユーザーモードにすると、ステータスが SINGLEUSER
に変更される前に、データノードがその状態を STOPPING_2
として簡単にレポートする場合があります。
start_phase
カラムでは、ndb_mgm クライアントの
コマンドの出力で使用されるものと同じ範囲の値が使用されます (セクション23.5.1「NDB Cluster 管理クライアントのコマンド」を参照してください)。 ノードが現在起動中でない場合、このカラムは node_id
STATUS0
を示します。 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)