Настройка кластера Elasticsearch 6 и ниже: Масштабируемый кластер

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

Пример кластера довольно простой, но при этом является ограниченным по функционалу, часть возможностей (ролей)  Elasticsearch не используется.

Схема построения кластера будет следующая

Кластер Elasticsearch

Прежде чем продолжить чтение, возможно подойдет более простой кластер из двух нод.

Установка Elasticsearch

Устанавливаем Elasticsearch на север.

На всех узлах кластера версия Elasticsearch должна быть одинаковой!

Оптимизация настроек

Для работы кластера должны на межсетевом экране должны быть открыты порты 9200/TCP и 9300/TCP (порты по умолчанию)

Прежде чем приступить к дальнешим шагам, рекомендуется предварительно корректно сконцентрировать как сам Elasticsearch, так и Linux сервер.

Оптимальная настройка сервера Elasticsearch

Это позволит избежать части проблем связанных с работой bootstrap.

Создание директории для данных

Если не требуется изменить путь для хранение данных, то этот пункт можно пропустить.

На всех нодах, не зависимо от типа, создаем директорию, для хранения данных и назначаем на нее права.

Создание Master/Ingest ноды

В данном кластере у нас будет одна нода, выполняющая две роли

Master- управление кластером

Ingest - конвейер для изменения документов до индексирования.

Открываем на редактирование elasticsearch.yml

Указываем имя кластера

Устанавливаем имя ноды, в соответствии с именем сервера

указываем путь для хранения данных и журналов (логов)

Указываем прослушиваемый IP адрес

Указываем HTTP порт

Обязательно включаем bootstrap, если не включили ранее

В данном кластере одна мастер нода, указываем только ее. При этом запоминаем IP адрес, он нам понадобиться при настройке дата нод

Указываем роли

Итоговый файл конфигурации Master/Ingest ноды

Для упрощения, пример готового файла конфигурации

Создание шаблона data ноды

Будем создавать именно шаблон, а не настраивать data ноду. В файле конфигурации учтены некоторые моменты.

При развертывании дата ноды из шаблона, необходимо будет изменить имя сервера и его IP адрес.

Все новые data ноды автоматический зайдут в кластер

Перед началом настройки, обаятельно необходимо остановить сервис Elasticsearch

Открываем на редактирование elasticsearch.yml

По аналогии, указываем имя машины, имя кластера и пути установки

В данном случае, так как мы не знаем какой IP адрес будет у сервера, указываем просушивание всех доступных адресов.

Указываем порт и включаем bootstrap

Указываем IP-адрес, который мы получили  при настройке мастер ноды

Далее указываем роль дата ноды

Сохраняем файл настроек.

Если по какой-то причине сервис Elasticserach был запущен, то необходимо очистить директорию с данными, что бы удалить все данные и сбросить ID ноды.

Теперь из данной машины можно создать шаблон и использовать его для развертывания нод для хранения данных.

Итоговый файл конфигурации Data ноды

Заключение

Теперь при развертывании дата ноды из образа, она автоматически будет подключаться к кластеру. Писать данные можно в любую из нод или во все сразу, Elasticserach сам разберется куда раскладывать данные.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий