25.6.17.45 Таблица членства 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 определяются в терминах модели, которая соединяет все узлы данных в круг по порядку их идентификаторов, аналогично порядку чисел на циферблате часов, как показано здесь:
Рисунок 25.6 Круговая организация узлов кластера 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). Если президент выходит из строя или отключается, текущий узел ожидает, что узел с идентификатором, показанным в столбце 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.