elasticsearch.yml
Тема дорожной карты · Elasticsearch
elasticsearch.yml — это основной статический файл конфигурации узла Elasticsearch, расположенный по умолчанию в $ES_HOME/config/elasticsearch.yml (или /etc/elasticsearch/elasticsearch.yml при установке из пакетного менеджера). Наиболее важные настройки в elasticsearch.yml: cluster.name (должно совпадать на всех узлах кластера), node.name (уникальный идентификатор узла), network.host (IP-адрес, к которому привязывается узел) и discovery.seed_hosts (список хостов для обнаружения кластера при запуске). Настройки путей — path.data и path.logs — определяют, где Elasticsearch хранит данные шардов и файлы журналов; в продуктивной среде они должны указывать на выделенное высокопроизводительное хранилище. Размер кучи JVM задаётся не в elasticsearch.yml, а в находящемся рядом файле jvm.options; рекомендованная практика Elasticsearch — устанавливать -Xms и -Xmx в одно значение, ограниченное 26 ГБ для сохранения сжатия указателей. После изменения elasticsearch.yml необходим полный перезапуск узла для вступления изменений в силу, в отличие от динамических настроек кластера, применяемых через PUT /_cluster/settings.
Как это работает
elasticsearch.yml: установка на Linux через tarball, apt/yum, Docker-образ или Helm chart для K8s. Конфигурация в elasticsearch.yml — cluster name, node roles, paths, network, discovery. Docker ок для local dev, но в prod экспонирует volume + UID issues. Kibana — UI: Dev Tools console для ad-hoc queries, Discover для log exploration, Dashboards для визуализации. Для production предпочитайте ECK (Elastic Cloud on Kubernetes) или Helm-managed кластеры перед hand-rolled tarball-установками.
Когда применять
Pin Elasticsearch + Kibana на ТУ ЖЕ major.minor версию (Kibana проверяет). Выставьте vm.max_map_count=262144 на хосте (иначе контейнер не стартует). Отключите swap, heap = 50% RAM (max 31GB). Для prod — на dedicated железе или guaranteed-resource VM — соседи убивают ES.
Типичные ошибки
Ловушки elasticsearch.yml: ES + другие сервисы на одном хосте (resource-fights → кластер нестабилен); security отключён (8.x по дефолту on — не выключайте); heap > 32GB (теряет compressed oops, perf падает); игнор vm.max_map_count (тихие сбои).