21.6.15.25 Таблица членства ndbinfo
Таблица membership описывает представление каждого узла данных обо всех остальных узлах в кластере, включая членство в группе узлов, президента, арбитра, преемника арбитра, состояния соединения арбитра и другую информацию.
Таблица membership содержит следующие столбцы:
-
node_idИдентификатор узла этого узла
-
group_idГруппа узлов, к которой принадлежит этот узел
-
left nodeИдентификатор узла предыдущего узла
-
right_nodeИдентификатор узла следующего узла
-
presidentИдентификатор узла президента
-
successorИдентификатор узла преемника президента
-
succession_orderПорядок, в котором этот узел наследует президентство
-
Conf_HB_order-
-
arbitratorИдентификатор узла арбитра
-
arb_ticketВнутренний идентификатор, используемый для отслеживания арбитража
-
arb_stateСостояние арбитража
-
arb_connectedПодключен ли этот узел к арбитру; либо
Yes, либоNo -
connected_rank1_arbsПодключенные арбитры ранга 1
-
connected_rank2_arbsПодключенные арбитры ранга 1
Примечания
Идентификатор узла и идентификатор группы узлов совпадают с данными, предоставленными ndb_mgm -e "SHOW".
left_node и right_node определяются в терминах модели, которая соединяет все узлы данных в круге в порядке их идентификаторов узлов, подобно порядку чисел на циферблате часов, как показано здесь:
Рисунок 21.8 Круговое расположение узлов кластера NDB
В этом примере у нас есть 8 узлов данных с номерами 5, 6, 7, 8, 12, 13, 14 и 15, расположенными по часовой стрелке в круге. Мы определяем «слева» и «справа» изнутри круга. Узел слева от узла 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). Если президент выходит из строя или отключается, текущий узел ожидает, что узел с ID, показанным в столбце successor, станет новым президентом. Столбец succession_order показывает место в очереди преемственности, которое текущий узел рассматривает как свое.
В обычном кластере NDB все узлы данных должны видеть один и тот же узел как president и тот же узел (кроме президента) как его successor. Кроме того, текущий президент должен видеть себя как 1 в порядке преемственности, узел successor должен видеть себя как 2 и так далее.
Все узлы должны показывать одинаковые значения arb_ticket, а также одинаковые значения arb_state. Возможные значения 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 отображают список 0 или более арбитров с ArbitrationRank, равным 1 или 2 соответственно.
Оба управляющих узла и API-узлы могут стать арбитрами.
© 2025 Oracle
Licensed under the GPLv2 License.