Настройки узла
Каждый раз, когда вы запускаете экземпляр 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, включая:
© 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