OpenSearch: Межкластерная репликация

OpenSearch logo OpenSearch

В этой статье представлены функции OpenSearch межкластерной репликация (CCR, Cross Cluster Replication).

Кросс-кластерная репликация

Межкластерная репликация позволяет зеркально отображать индексы на разных кластерах. Исходный индекс выступает в роли "лидера", и затем все операции над документами, выполняемые с этим индексом (создание, обновление, удаление), будут выполняться по индексу в удаленном(ых) кластере(ах).

Важно отметить, что репликация происходит на уровне индекса, поэтому вы можете следить за одним индексом на многих кластерах или осуществлять двунаправленную репликацию.

Кросс-кластерная репликация может использоваться в следующих случаях:

  • Наличие резервного кластера на случай возникновения проблем
  • Более близкий кластер к конечным пользователям (задержка)
  • Разделение объема поиска и индексирования

Необходимые условия для работы CCR

Плагин Replication должен быть установлен на всех кластерах.
Если вы переопределили свойства node.roles в файле opensearch.yml, то на кластере-последователе необходимо снова добавить remote_cluster_client:

Разрешения, необходимые для CCR

OpenSearch изначально включает роли для лидера и последователей, чтобы пользователи, не являющиеся администраторами, могли выполнять все действия лидера/последователя (начать/остановить следование). Такая конфигурация является оптимальной в большинстве случаев.

Разрешения, необходимые для CCR

При желании можно создать собственные роли. При этом могут быть предоставлены следующие разрешения:

Подчиненный кластер

  • indices:admin/plugins/replication/index/setup/validate
  • indices:admin/plugins/replication/index/start
  • indices:admin/plugins/replication/index/pause
  • indices:admin/plugins/replication/index/resume
  • indices:admin/plugins/replication/index/stop
  • indices:admin/plugins/replication/index/update
  • indices:admin/plugins/replication/index/status_check
  • indices:data/write/plugins/replication/changes
  • cluster:admin/plugins/replication/autofollow/update

Мастер кластер

  • indices:admin/plugins/replication/validate
  • indices:data/read/plugins/replication/file_chunk
  • indices:data/read/plugins/replication/changes

Как настроить межкластерную репликацию в OpenSearch

Создать связь с лидером

Начните создание соединения в кластере последователей:

Обратите внимание на порт 9300. Именно 9300, а не 9200, поскольку это транспортный уровень (связь между узлами). Порт 9200 предназначен для http-связи (связь клиента с узлом).

Создание лидерного индекса

Лидерский индекс - это обычный индекс OpenSearch, и он должен быть создан на кластере-лидере.

Репликация на индекс последователя

Если плагин безопасности отключен, опустите параметр use_roles. Если же он включен, то необходимо указать роли кластера-лидера и кластера-последователя, которые OpenSearch будет использовать для аутентификации запроса.

Теперь индекс leader-01 из кластера-лидера будет реплицирован на индекс follower-01 кластера-последователя.

Дополнительные действия

Для удаления индекса-последователя необходимо сначала остановить репликацию.

Подтверждение репликации

Приостановить репликацию

Возобновить репликацию

Остановить репликацию

Автоматическое слежение

Помимо репликации отдельных индексов, можно создавать правила репликации, которые представляют собой набор шаблонов, определяющих, когда индекс должен выполняться.

Это правило начнет создавать и сопровождать все индексы, начинающиеся с фильмов в кластере-последователе, а затем все индексы, созданные после него.

Чтобы удалить правило репликации, необходимо выполнить следующее:

Это позволит избежать репликации новых индексов, но существующие будут продолжать следовать за ними. Чтобы прекратить репликацию существующих индексов, воспользуйтесь API остановки репликации после удаления правила.

Краткое описание межкластерной репликация в OpenSearch

В заключение следует отметить, что кросс-кластерная репликация позволяет зеркально отображать индексы на разных кластерах и обладает рядом преимуществ:

  • Поддержание резервного кластера
  • Снижение задержек за счет использования кластера, расположенного ближе к пользователям
  • Отделение объема поиска от индексирования.

В этой статье мы рассмотрели пошаговую настройку:

  • Установить соединение с кластером-лидером
  • Создать индекс лидера
  • Выполнить репликацию на индекс последователя

И выполнять задачи обслуживания:

  • Подтвердить репликацию
  • Приостановить репликацию
  • Возобновить репликацию
  • Остановить репликацию
  • Автоматическое слежение

Понимание и внедрение кросс-кластерной репликации позволяет организациям улучшить управление данными, увеличить избыточность и повысить удобство работы пользователей.

Avatar for Gnostis
Gnostis
Добавить комментарий