Перейти к основному контенту

Настройка многоузлового кластера

Используйте эту инструкцию, если требуется распределить роли Клавдия между несколькими Linux-серверами. После настройки узлы используют общую базу данных, видят одни источники и правила хранения, а экземпляры Solr входят в один поисковый кластер.

Перед началом

Распределите роли

Роли выбираются при установке. Один узел может выполнять несколько ролей; веб-интерфейс включён на каждом узле обязательно.

Роль Значение для KLVD_ROLES Где размещать
Хранилище storage на серверах с дисками архива или доступом к S3
Импорт importer на серверах с доступом к почтовым источникам
Индексация indexer на серверах с ресурсами для извлечения текста и Solr
SMTP smtp на серверах, принимающих поток почты
IMAP imap на серверах, предоставляющих пользователям доступ к архиву

Например, для узла хранения и импорта:

KLVD_ROLES=storage,importer

KLVD_ROLES ограничивает доступные роли конкретного узла. После установки их включение и размещение слушателей настраиваются в [Кластер] → [Узлы кластера]. См. {{ССЫЛКА:maintenance.cluster-config|Изменение ролей и конфигурации узла}}.

Подключите узлы к общей базе

  1. Добавьте каждый новый сервер по инструкции {{ССЫЛКА:install.join-node|Добавление Linux-узла в существующий кластер}}.
  2. Укажите ту же PostgreSQL: адрес, порт, имя базы и учётную запись.
  3. Укажите действующий секрет кластера.
  4. Выберите роли и вариант подключения к Solr.
  5. После запуска убедитесь, что новый узел появился в [Кластер] → [Узлы кластера].

Для всех узлов используется одна база. Отдельная база на новом сервере создаст другую установку, а не расширит существующий кластер.

Подключите хранилище и поиск

Узел с ролью [Хранилище] регистрирует свой адрес в общей базе. Создайте для него {{ССЫЛКА:install.storage-create|хранилище}}, включите его в {{ССЫЛКА:install.storage-group|группу}} и проверьте правила хранения. Один узел может входить в несколько локальных и S3-групп.

Для штатного SolrCloud на каждом узле индексирования используется отдельный контейнер Solr. Первый координатор запускает ZooKeeper; остальные экземпляры подключаются к ZooKeeper координатора. На узлах без локального Solr эти контейнеры не требуются. Порядок добавления: {{ССЫЛКА:reference.solr-instances|Добавление и состояние экземпляров SolrSolr}}.

Адреса хранилища и Solr определяются при регистрации. Проверьте, что опубликованные адреса доступны с других серверов: localhost подходит только для обращения с того же хоста. При необходимости задайте внешний адрес через параметры из {{ССЫЛКА:reference.env|справочника переменных окружения}}.

В штатной схеме ZooKeeper работает на одном координаторе. Дополнительные узлы Solr создают реплики индекса, но не обеспечивают отказоустойчивость ZooKeeper. Учтите это при проектировании; см. {{ССЫЛКА:reference.solrcloud|SolrCloud: архитектура}}.

Разделяйте общие и локальные настройки

Где менять Что настраивается
.env, Docker Compose и секреты конкретного сервера доступные роли, адреса, порты, подключение к PostgreSQL, локальные контейнеры и тома
Веб-интерфейс любого узла источники, расписания, правила хранения, группы хранилищ, пользователи, права, LDAP/AD и общие настройки поиска
Карточка конкретного узла в веб-интерфейсе включённые роли, вес, лимиты и размещение слушателей этого узла

Общие настройки сохраняются в PostgreSQL и доступны всему кластеру. Параметры карточки узла применяются к выбранному узлу.

Выберите точку входа

Схема Что требуется
Один сервер все нужные роли и локальные компоненты на одном сервере
Два сервера общая PostgreSQL; при двух индексаторах — координатор и присоединённый экземпляр Solr
Три и более серверов та же схема подключения; распределение ролей и реплик по ресурсам и требованиям доступности

Если веб-интерфейс, SMTP или IMAP работают на нескольких узлах, настройте {{ССЫЛКА:install.integration-haproxy|единую точку входа через HAProxyHAProxy}}. Балансировщик не заменяет избыточность хранилища, резервирование базы или реплики поиска.

Проверьте результат

  1. В [Кластер] → [Узлы кластера] все добавленные узлы доступны, роли соответствуют плану.
  2. На {{ССЫЛКА:maintenance.dashboard|панели состояния}} PostgreSQL, хранилище и поиск проходят проверку.
  3. В [Инстансы SolrCloud] экземпляры доступны, реплики находятся в состоянии active.
  4. Импортируйте тестовое письмо и найдите его через веб-интерфейс другого узла.
  5. Если используется SMTP или IMAP, проверьте подключение через выбранную точку входа.

{{СКРИНШОТ}}

Если узел не подключился

Проверьте адрес общей базы, учётные данные, секрет кластера и доступность портов. Если узел появился, но хранилище или поиск недоступны, проверьте опубликованные адреса этих служб и правила межсетевого экрана. Начните с {{ССЫЛКА:maintenance.cluster-status|проверки состояния узлов}}.

Связанные материалы

Навигация по книге