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


23.5.14.35 ndbinfo membership テーブル

membership テーブルは、ノードグループのメンバーシップ、プレジデントノード、アービトレータ、アービトレータの後継ノード、アービトレータの接続状態、およびその他の情報を含む、各データノードがクラスタ内のほかのすべてのノードについて保持するビューを示します。

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

  • node_id

    このノードのノード ID

  • group_id

    このノードが属するノードグループ

  • left node

    前のノードのノード ID

  • right_node

    次のノードのノード ID

  • president

    プレジデントのノード ID

  • successor

    プレジデントの後継ノードのノード ID

  • succession_order

    このノードがプレジデントの任務を継承する順序

  • Conf_HB_order

    -

  • arbitrator

    アービトレータのノード ID

  • arb_ticket

    アービトレーションを追跡するために使用される内部識別子

  • arb_state

    アービトレーションの状態

  • arb_connected

    このノードがアービトレータに接続されているかどうか (Yes または No のいずれか)

  • connected_rank1_arbs

    接続されたランク 1 のアービトレータ

  • connected_rank2_arbs

    接続されたランク 1 のアービトレータ

メモ

ノード ID およびノードグループ ID は、ndb_mgm -e "SHOW" でレポートされるものと同じです。

left_node および right_node は、次に示すように、時計文字板上の数字の順序と同様に、すべてのデータノードを、それらのノード ID の順序で円形に接続するモデルに関して定義されます。

図 23.27 NDB Cluster ノードの循環配置

内容は周囲のテキストで説明されています。

この例では、円形に右回りの順序で、5、6、7、8、12、13、14、15 の番号が付けられた 8 つのデータノードがあります。 は、円の内側から判断します。 ノード 5 の左側にあるノードはノード 15 であり、ノード 5 の右側にあるノードはノード 6 です。 次のクエリーを実行し、その出力を調査することで、これらの関係をすべて確認できます。

mysql> SELECT node_id,left_node,right_node
    -> FROM ndbinfo.membership;
+---------+-----------+------------+
| node_id | left_node | right_node |
+---------+-----------+------------+
|       5 |        15 |          6 |
|       6 |         5 |          7 |
|       7 |         6 |          8 |
|       8 |         7 |         12 |
|      12 |         8 |         13 |
|      13 |        12 |         14 |
|      14 |        13 |         15 |
|      15 |        14 |          5 |
+---------+-----------+------------+
8 rows in set (0.00 sec)

の指定は、イベントログでも同様に使用されます。

president ノードは、現在のノードから、アービトレータを設定する責任を持つものとして見られるノードです (NDB Cluster Start Phasesを参照してください)。 プレジデントで障害が発生したり、切断されたりすると、現在のノードは、successor カラムに ID が示されたノードが新しいプレジデントになることを期待します。 succession_order カラムは、現在のノードが自分自身で持っているとみなす後継キュー内の場所を示します。

通常の NDB Cluster では、すべてのデータノードに president と同じノードが表示され、その successor と同じノード (社長以外) が表示されます。 さらに、現在のプレジデントは、自分自身を後継順序の 1 とみなし、successor ノードは、自分自身を 2 とみなす、というようにするべきです。

すべてのノードで同じ arb_state の値、および同じ arb_ticket の値を示すべきです。 可能性のある arb_state の値は ARBIT_NULLARBIT_INITARBIT_FINDARBIT_PREP1ARBIT_PREP2ARBIT_STARTARBIT_RUNARBIT_CHOOSEARBIT_CRASH、および UNKNOWN です。

arb_connected は、このノードの arbitrator として示されているノードに、このノードが接続されているかどうかを示します。

connected_rank1_arbs および connected_rank2_arbs の各カラムには、ArbitrationRank がそれぞれ 1 または 2 と等しい 0 個以上のアービトレータのリストが表示されます。

注記

管理ノードと API ノードの両方に、アービトレータになる資格があります。


関連キーワード:  NDB, テーブル, ノード, ndbinfo, ndb, データ, 管理, 構成, node, 接続