Кластеризация

Статус кластера

Страница Status — состояние нод, Raft-реплик и gossip, управление составом кластера.

Enterprise

Страница Cluster → Status (/workspace/cluster) показывает состояние кластера.

Страница Cluster Status

Если кластеризация выключена, страница сообщает о режиме Single-node mode.

Overview

Сводка по кластеру.

ПолеЗначение
ModeCluster — в gossip живы две ноды и больше. Single Node — нода одна.
Active NodesЧисло живых нод по данным gossip.
RegionРегион текущей ноды из cluster_config.region.
Gossip HealthHealthy при оценке 0. Иначе Score: N: чем больше число, тем хуже связь. Оценка выше 2 подсвечивается красным.
Node IDИмя ноды, которая обслужила страницу.

Баннеры топологии

Над списком нод появляются баннеры, когда документ топологии не сошёлся.

  • Staged topology vN awaiting apply — версия сохранена, но не применена. Кнопки:
    • View plan… — шаги, которые выполнит применение: группа, действие, нода, реплика. Пустой план означает, что живое состояние уже совпадает с версией.
    • Apply vN — запускает применение версии.
    • Discard… — отменяет версию: содержимое Active сохраняется как новая версия.
  • Applying vN — converging… — версия применяется. Баннер показывает текущую Active-версию и выполняемый шаг.

Баннеры топологии нужны для ручного управления изменения топологией кластера.

Nodes

Плитка на каждую ноду из документа топологии.

Плитка ноды

  • Имя ноды и метка self для текущей ноды.
  • Доступность по gossip:
МеткаЦветЗначение
onlineзелёныйНода жива.
deadкрасныйНода не отвечает.
unknownсерыйДанных о ноде ещё нет.
  • Состояние жизненного цикла — метка появляется, только если нода не в active:
МеткаЗначение
drainingС ноды переносятся реплики.
drainedРеплик на ноде нет, нода остаётся членом кластера. Такая нода не принимает трафик и ее можно обслуживать.
excludedНода выведена из кластера. Её идентификатор больше не используется.
  • ID, IP Address (адрес Raft-транспорта), Region, Created, Modified.
  • Raft replicas — реплики групп на этой ноде: _meta и шарды.

Метки реплики

МеткаЗначение
voterРеплика голосует и входит в кворум.
learnerРеплика догоняет журнал и пока не голосует.
leaderРеплика — лидер группы. Через неё идут записи.
degradedЖива только часть голосующих реплик группы. Кворум есть, запас отказоустойчивости снижен.
quorum lostЖивых голосующих реплик меньше кворума. Группа не принимает записи. Строка выделяется красной рамкой.

Меню реплики ⋯ → Transfer leader передаёт лидерство группы другой реплике. Пункт доступен только на лидере.

Действия с нодой

Меню ⋯ на плитке ноды:

ДействиеКогда доступноЧто делает
Move out leaders from this nodeНода лидирует хотя бы в одной группеПередаёт лидерство всех её групп другим нодам. Удобно перед обслуживанием.
DrainВсегдаПереносит реплики с ноды. Нода переходит в draining, затем в drained.
ActivateНода в draining или drainedВозвращает ноду в active. Реплики снова размещаются на ней.
Exclude…Нода полностью в drainedВыводит ноду из кластера. Флажок Force исключает ноду с репликами. Для него обязательна причина.
Promote as single-node cluster…Только на своей плитке, когда _meta потеряла кворум и все остальные голосующие ноды мертвыПревращает выжившую ноду в кластер из одной ноды. Нужно ввести имя ноды для подтверждения. Нода перезапускается и недоступна 30–60 секунд.

Промоушен — аварийная операция. Используйте её, только если остальные ноды потеряны безвозвратно. Остальные действия меняют документ топологии: каждое создаёт новую версию в журнале.

Строки состояния

  • reconciler: состояние (причина) — контур авто-восстановления ждёт, заблокирован или выполняет ремонт. Причины разобраны на странице Эксплуатация.
  • Not serving: причина — текущая нода не принимает трафик. Например, шард потерял кворум или нода ждёт повторного допуска.

Ноды вне кластера

Жёлтая плитка not in cluster — нода, которую кластер видит, но которой нет в документе топологии. Источник указан в поле Discovered via: gossip, refused join или оба.

  • Add to cluster… добавляет новую ноду.
  • Re-admit… возвращает ранее исключённую ноду. Она получает новый идентификатор, реплики пересобираются.

Если имя ноды занято другим живым процессом, кнопки нет. Остановите лишний процесс, смените MERIDIAN_NODE_ID и перезапустите ноду.

Cluster Gossip

Таблица членов gossip: Node ID, Address, Region, State.

StateЗначение
aliveНода отвечает на пробы.
suspectПробы не проходят, нода под подозрением.
deadНода признана недоступной.
leftНода штатно покинула кластер.

Configuration

Параметры текущей ноды из config.json: порт gossip, таймаут проб, список пиров, стратегия разрешения конфликтов и лимитов. Через интерфейс они не меняются. Описание параметров — на странице Конфигурация.

Содержание