Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›Настройка Elasticsearch ›Настройка Elasticsearch

Настройки узла

Каждый раз, когда вы запускаете экземпляр Elasticsearch, вы запускаете узел. Совокупность подключенных узлов называется кластером. Если вы запускаете единственный узел Elasticsearch, у вас есть кластер из одного узла.

Каждый узел в кластере по умолчанию может обрабатывать трафик HTTP и транспортного уровня. Транспортный уровень используется исключительно для связи между узлами; HTTP-слой используется REST-клиентами.

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

Производительность узла Elasticsearch часто ограничена производительностью базового хранилища. Ознакомьтесь с нашими рекомендациями по оптимизации хранилища для индексирования и поиска.

Настройка имени узла

Elasticsearch использует node.name в качестве удобочитаемого идентификатора конкретного экземпляра Elasticsearch. Это имя включено в ответ многих API. Имя узла по умолчанию устанавливается как имя хоста машины при запуске Elasticsearch, но его можно явно настроить в elasticsearch.yml:

node.name: prod-data-2

Настройки ролей узла

Вы определяете роли узла, устанавливая node.roles в elasticsearch.yml. Если вы установите node.roles, узлу будут назначены только указанные вами роли. Если вы не установите node.roles, узлу будут назначены следующие роли:

  • master
  • data
  • data_content
  • data_hot
  • data_warm
  • data_cold
  • data_frozen
  • ingest
  • ml
  • remote_cluster_client
  • transform

Доступны следующие дополнительные роли:

  • voting_only

Если вы установите node.roles на пустой массив (node.roles: [ ]), то узел считается узлом только для координации.

Если вы устанавливаете node.roles, убедитесь, что вы указали все роли узлов, необходимые вашему кластеру. Каждый кластер требует следующих ролей узлов:

  • master
  • data_content и data_hot
    ИЛИ
    data

Некоторые функции Elastic Stack также требуют определенных ролей узлов:

  • Поиск между кластерами и репликация между кластерами требуют роли remote_cluster_client.
  • Мониторинг стека и конвейеры обработки требуют роли ingest.
  • Fleet, приложение Elastic Security и трансформации требуют роли transform. Также требуется роль remote_cluster_client для использования поиска между кластерами с этими функциями.
  • Функции машинного обучения, такие как обнаружение аномалий, требуют роли ml.

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

Дополнительную информацию о доступных ролях узла см. в Ролях узлов.

Настройки пути данных узла

path.data

Каждый узел данных и узел, подходящий для роли мастер, требует доступа к каталогу данных, где будут храниться фрагменты, метаданные индекса и кластера. По умолчанию path.data устанавливается на $ES_HOME/data, но его можно настроить в файле конфигурации elasticsearch.yml с абсолютным путем или путем, относительным к $ES_HOME следующим образом:

path.data:  /var/elasticsearch/data

Как и все настройки узла, его также можно указать в командной строке:

./bin/elasticsearch -Epath.data=/var/elasticsearch/data

Содержание каталога path.data должно сохраняться после перезапуска, так как именно здесь хранятся ваши данные. Elasticsearch требует, чтобы файловая система вела себя как локальный диск, но это означает, что она будет работать правильно на правильно настроенных удаленных блочных устройствах (например, SAN) и удаленных файловых системах (например, NFS), если удаленное хранилище ведет себя не иначе, чем локальное. Вы можете запустить несколько узлов Elasticsearch на одной файловой системе, но каждый узел Elasticsearch должен иметь свой собственный путь данных.

При использовании дистрибутивов .zip или .tar.gz параметр path.data следует настроить для размещения каталога данных вне каталога Elasticsearch, чтобы каталог можно было удалить без удаления данных! RPM и Debian дистрибутивы уже делают это за вас.

Не изменяйте ничего внутри каталога данных и не запускайте процессы, которые могут вмешиваться в его содержимое. Если что-то помимо Elasticsearch изменяет содержимое каталога данных, Elasticsearch может выйти из строя, сообщив о повреждении или других несоответствиях данных или может показаться, что работает правильно, но незаметно потерял некоторые из ваших данных. Не пытайтесь делать резервные копии файловой системы каталога данных; нет поддерживаемого способа восстановления такой резервной копии. Вместо этого используйте резервное копирование и восстановление для безопасного резервного копирования. Не запускайте антивирусные сканеры на каталоге данных. Антивирусный сканер может помешать правильной работе Elasticsearch и может изменить содержимое каталога данных. В каталоге данных нет исполняемых файлов, поэтому антивирусный сканер найдет только ложные срабатывания.

Настраиваемые атрибуты узла

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

Вы также можете установить атрибут узла с помощью аргумента командной строки -E при запуске узла:

./bin/elasticsearch -Enode.attr.rack_id=rack_one
node.attr.<attribute-name>
(Динамический) Настраиваемый атрибут, который можно назначить узлу. Например, вы можете назначить атрибут rack_id каждому узлу, чтобы убедиться, что первичные и реплицированные фрагменты не размещаются на одном стеллаже. Вы можете указать несколько атрибутов в виде списка, разделенного запятыми.

Другие настройки узла

Дополнительные настройки узла можно найти в Настройке Elasticsearch и Важных настройках Elasticsearch, включая:

  • cluster.name
  • node.name
  • сетевые настройки

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/modules-node.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API