Создание кластера Elasticsearch 6 и ниже из двух нод

elasticsearch logo Elasticsearch

Пример простой настройки кластера Elasticsearch из двух нод (мастер и дата нода).

 

При кластеризации, данные (шарды) распределяются между нодами, всем процессами, что происходят внутри, занимается сам Elasticsearch и в большинстве случаев какое либо управление не требуется.

Вся настройка кластера сводится к настройке одного файла конфигурации и определения мастер нод. Далее всеми процессами займется сам Elasticsearch.

Установка Elasticsearch

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

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

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

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

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

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

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

Настройка мастер ноды Elasticsearch

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

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

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

имя ноды, должно быть уникальным, для кластера

так же возможно использовать имя ноды (предпочтительный вариант)

Указываем используемые сетевые интерфейсы (IP адреса).

_local_ - указывает что необходимо так же использовать локальный интерфейс (127.0.0.1), полезно для управления нодой локально.

Желательно, но не обязательно HTTP порт

Указываем IP адрес мастер ноды, данный параметр указывается на всех нодах

и количество матер нод в кластере

Данный параметр необходим для защиты от split brain, когда кластер может определить несколько мастер нод как главные. Значение = (количество мастер нод / 2)+1,
если мастер нода одна - указываем 1.

Включаем bootstrap, если не включали ранее

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

Определяем роли, включаем роли мастера, даты и ingest (отвечает за индексирование)

после сохранения изменений, Elasticsearch необходимо перезапустить

Итоговая конфигурация мастер ноды

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

Настройка подчиненной ноды Elasticsearch

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

Аналогичным образом настраиваем дата ноду, исключение составляет лишь роли

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

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

имя ноды, должно быть уникальным, для кластера

так же возможно использовать имя сервера (предпочтительный вариант)

Указываем используемые сетевые интерфейсы (IP адреса).

Желательно, но не обязательно HTTP порт

Указываем IP адрес мастер ноды:

и количество матер нод в кластере

Включаем bootstrap, если не включали ранее

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

Определяем роли, включаем роли мастера, даты и ingest (отвечает за индексирование)

после сохранения изменений, Elasticsearch необходимо перезапустить

После запуска службы, дата нода подключится (зарегистрируется) к мастер ноде, после чего, при наличии данных, начнется балансировка

Итоговая конфигурация дата ноды

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