Настройка многоузлового кластера
Используйте эту инструкцию, если требуется распределить роли Клавдия между несколькими Linux-серверами. После настройки узлы используют общую базу данных, видят одни источники и правила хранения, а экземпляры Solr входят в один поисковый кластер.
Перед началом
- Выберите схему установки и рассчитайте ресурсы.
- Установите первый узел или подготовьте внешние PostgreSQL и Solr.
- Подготовьте доступ новых узлов к общей PostgreSQL, узлам хранения и службе поиска. См. Порты и сетевые соединения.
- Сохраните действующий секрет кластера: он должен совпадать на всех узлах.
Распределите роли
Роли выбираются при установке. Один узел может выполнять несколько ролей; веб-интерфейс включён на каждом узле обязательно.
| Роль | Значение для KLVD_ROLES |
Где размещать |
|---|---|---|
| Хранилище | storage |
на серверах с дисками архива или доступом к S3 |
| Импорт | importer |
на серверах с доступом к почтовым источникам |
| Индексация | indexer |
на серверах с ресурсами для извлечения текста и Solr |
| SMTP | smtp |
на серверах, принимающих поток почты |
| IMAP | imap |
на серверах, предоставляющих пользователям доступ к архиву |
Например, для узла хранения и импорта:
KLVD_ROLES=storage,importer
KLVD_ROLES ограничивает доступные роли конкретного узла. После установки их включение и размещение слушателей настраиваются в [Кластер] → [Узлы кластера]. См. Изменение ролей и конфигурации узла.
Подключите узлы к общей базе
- Добавьте каждый новый сервер по инструкции Добавление Linux-узла в существующий кластер.
- Укажите ту же PostgreSQL: адрес, порт, имя базы и учётную запись.
- Укажите действующий секрет кластера.
- Выберите роли и вариант подключения к Solr.
- После запуска убедитесь, что новый узел появился в [Кластер] → [Узлы кластера].
Для всех узлов используется одна база. Отдельная база на новом сервере создаст другую установку, а не расширит существующий кластер.
Подключите хранилище и поиск
Узел с ролью [Хранилище] регистрирует свой адрес в общей базе. Создайте для него хранилище, включите его в группу и проверьте правила хранения. Один узел может входить в несколько локальных и S3-групп.
Для штатного SolrCloud на каждом узле индексирования используется отдельный контейнер Solr. Первый координатор запускает ZooKeeper; остальные экземпляры подключаются к ZooKeeper координатора. На узлах без локального Solr эти контейнеры не требуются. Порядок добавления: Добавление и состояние экземпляров Solr.
Адреса хранилища и Solr определяются при регистрации. Проверьте, что опубликованные адреса доступны с других серверов: localhost подходит только для обращения с того же хоста. При необходимости задайте внешний адрес через параметры из справочника переменных окружения.
В штатной схеме ZooKeeper работает на одном координаторе. Дополнительные узлы Solr создают реплики индекса, но не обеспечивают отказоустойчивость ZooKeeper. Учтите это при проектировании; см. SolrCloud: архитектура.
Разделяйте общие и локальные настройки
| Где менять | Что настраивается |
|---|---|
.env, Docker Compose и секреты конкретного сервера |
доступные роли, адреса, порты, подключение к PostgreSQL, локальные контейнеры и тома |
| Веб-интерфейс любого узла | источники, расписания, правила хранения, группы хранилищ, пользователи, права, LDAP/AD и общие настройки поиска |
| Карточка конкретного узла в веб-интерфейсе | включённые роли, вес, лимиты и размещение слушателей этого узла |
Общие настройки сохраняются в PostgreSQL и доступны всему кластеру. Параметры карточки узла применяются к выбранному узлу.
Выберите точку входа
| Схема | Что требуется |
|---|---|
| Один сервер | все нужные роли и локальные компоненты на одном сервере |
| Два сервера | общая PostgreSQL; при двух индексаторах — координатор и присоединённый экземпляр Solr |
| Три и более серверов | та же схема подключения; распределение ролей и реплик по ресурсам и требованиям доступности |
Если веб-интерфейс, SMTP или IMAP работают на нескольких узлах, настройте единую точку входа через HAProxy. Балансировщик не заменяет избыточность хранилища, резервирование базы или реплики поиска.
Проверьте результат
- В [Кластер] → [Узлы кластера] все добавленные узлы доступны, роли соответствуют плану.
- На панели состояния PostgreSQL, хранилище и поиск проходят проверку.
- В [Инстансы SolrCloud] экземпляры доступны, реплики находятся в состоянии
active. - Импортируйте тестовое письмо и найдите его через веб-интерфейс другого узла.
- Если используется SMTP или IMAP, проверьте подключение через выбранную точку входа.
{{СКРИНШОТ}}
Если узел не подключился
Проверьте адрес общей базы, учётные данные, секрет кластера и доступность портов. Если узел появился, но хранилище или поиск недоступны, проверьте опубликованные адреса этих служб и правила межсетевого экрана. Начните с проверки состояния узлов.
Связанные материалы
Навигация по книге
- Следующая статья: Первый вход и смена пароля администратора