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 |
ノード ID のリスト | 接続されたランク 1 のアービトレータ |
connected_rank2_arbs |
ノード ID のリスト | 接続されたランク 1 のアービトレータ |
ノード ID およびノードグループ ID は、ndb_mgm -e "SHOW" でレポートされるものと同じです。
left_node
および right_node
は、次に示すように、時計文字板上の数字の順序と同様に、すべてのデータノードを、それらのノード ID の順序で円形に接続するモデルに関して定義されます。

この例では、円形に右回りの順序で、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
カラムは、現在のノードが自分自身で持っているとみなす後継キュー内の場所を示します。
通常の MySQL Cluster では、すべてのデータノードが、同じノードを president
として、および同じノード (プレジデント以外) をその successor
として見るべきです。さらに、現在のプレジデントは、自分自身を後継順序の 1
とみなし、successor
ノードは、自分自身を 2
とみなす、というようにするべきです。
すべてのノードで同じ arb_state
の値、および同じ arb_ticket
の値を示すべきです。可能性のある arb_state
の値は ARBIT_NULL
、ARBIT_INIT
、ARBIT_FIND
、ARBIT_PREP1
、ARBIT_PREP2
、ARBIT_START
、ARBIT_RUN
、ARBIT_CHOOSE
、ARBIT_CRASH
、および UNKNOWN
です。
arb_connected
は、このノードの arbitrator
として示されているノードに、このノードが接続されているかどうかを示します。
connected_rank1_arbs
および connected_rank2_arbs
の各カラムには、ArbitrationRank
がそれぞれ 1 または 2 と等しい 0 個以上のアービトレータのリストが表示されます。
管理ノードと API ノードの両方に、アービトレータになる資格があります。