Каждый узел в кластере имеет свою роль, или даже несколько. В production сети рекомендуется разделять хосты по ролям.

По умолчанию узел является узлом с правом доступа к мастеру (node.master), узлом данных (node.data), приема (node.ingest) и машинного обучения (node.ml). Это определяется в командной строке или в файле конфигурации elasticsearch.yml.

Тип узла Параметр конфигурации Значение по умолчанию
может быть мастером node.master true
узел данных node.data true
узел приёма node.ingest true
машинное обучение node.ml true

Узел данных (data node)

На узлах данных хранятся shards, содержащие проиндексированные вами документы. Также они выполняют операции, связанные с данными, такие как CRUD, поиск и агрегирование.

Как вы узнали ранее, все узлы по умолчанию являются узлами данных, и это настраивается с помощью свойства node.data.

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

Узел приёма (ingest node)

Узлы приёма предоставляют возможность предварительной обработки документа перед его индексированием. Узел приема перехватывает запросы, применяет преобразования, а затем передает документы обратно в API для индексирования. Все узлы по умолчанию являются узлами приема и настраиваются с помощью свойства node.ingest.

Узел машинного обучения (machine learning node)

Машинное обучение автоматически моделирует поведение ваших данных Elasticsearch в реальном времени - тенденции, периодичность и т. Д., чтобы быстрее выявлять проблемы, упрощать анализ и сокращать количество ложных срабатываний.

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

Координационный узел (coordinating node)

Координирующий узел - это узел, который получает и обрабатывает запросы. Каждый узел неявно является координирующим узлом.

Когда запрос получен, координатор проверяет состояние кластера, чтобы найти соответствующий ресурс для обслуживания этого запроса, и пересылает его на соответствующий узел (узлы) перед ответом.

В итоге

  • Существуют разные роли узлов, и узлы могут иметь одну или несколько ролей одновременно.
  • Узлы данных содержат shards и выполняют операции, связанные с данными, такие как CRUD, поиск и агрегирование.
  • Узлы приема предварительно обрабатывают документы перед индексацией в Elasticsearch.
  • Узлы машинного обучения выполняют задания машинного обучения
  • Более крупные кластеры с большим объемом должны иметь выделенные узлы для повышения производительности и использования ресурсов.