OpenSearch Discovery: Как это работает

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

Как это работает

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

Провайдеры начальных узлов могут быть определены тремя способами: списком, файлом или плагином. Все эти методы предоставляют список IP-адресов или имен хостов, к которым должен обратиться узел, чтобы получить список узлов, отвечающих требованиям мастера. Узел поочередно обращается ко всем этим адресам, пока не будет найден активный мастер, или, если это не удастся, пока не будет найдено достаточное количество узлов для избрания нового мастер-узла.

Примеры

В самом простом виде список провайдеров seed-хостов задается в файле opensearch.yml:

Альтернативным способом является обращение к файлу с помощью следующей настройки:

Файл ДОЛЖЕН быть размещен по следующему пути: $ES_PATH_CONF/unicast_hosts.txt

Обратите внимание, что использование порта является необязательным. Если он не используется, то по умолчанию будет использоваться диапазон портов 9300-9400.

Примечания и полезные сведения

Формирование кластера зависит от правильности настройки параметров network.host в opensearch.yml. Убедитесь, что узлы могут связаться друг с другом по сети, используя свои IP-адреса / имена хостов, и не блокируются из-за настроек брандмауэра на необходимых портах.

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