Типы нод
Тема дорожной карты · Elasticsearch
Узлы Elasticsearch — это отдельные экземпляры поискового движка, вместе образующие кластер; каждому узлу может быть назначена одна или несколько ролей, определяющих его функции. Наиболее важные роли узлов: master (управляет состоянием кластера и распределением шардов), data (хранит данные шардов и обрабатывает запросы индексирования и поиска), ingest (предварительно обрабатывает документы через ingest-конвейеры перед индексированием) и coordinating (направляет запросы к соответствующим узлам данных и объединяет результаты). В небольших кластерах один узел Elasticsearch нередко выполняет все роли, однако в производственной среде рекомендуется выделять master-узлы для управления кластером, задавая node.roles: [ master ] в elasticsearch.yml, чтобы нагрузка от узлов данных не дестабилизировала состояние кластера. Выделенные координирующие узлы (без назначенных ролей) полезны в больших кластерах, поскольку они берут на себя разветвление запросов и слияние результатов, не конкурируя с узлами данных за CPU и кучу. Архитектура горячих, тёплых и холодных уровней в Elasticsearch реализуется путём назначения узлов по уровням через механизм node.attr и последующей настройки политик ILM для автоматической миграции индексов между уровнями по мере устаревания данных.
Как это работает
Типы нод: Index — логическая коллекция документов (аналог DB-таблицы). Документы — JSON, идентифицируются _id. Индексы делятся на Shards (Lucene-индексы) — primary + replica копии, распределённые по нодам. Inverted Index — on-disk структура, делающая full-text search быстрым: term → список документов с ним. Роли нод: master (cluster state), data (хранение + queries), ingest (pipelines), coordinating (роутинг запросов). Современные кластеры часто используют dedicated роли для стабильности.
Когда применять
Планируйте shard count ДО индексации — primary shards не меняются после создания (только через reindex). Целитесь в 10-50GB на shard. Replicas: минимум 1 в prod (HA + read throughput). Для time-series (logs) — ILM + rollover вместо огромных fixed-индексов. Dedicate master + data + coordinator роли на масштабе (50+ нод).
Типичные ошибки
Ловушки Типы нод: много маленьких shards ("shard explosion" — cluster state растёт, master перегружен); single-shard индексы, растущие огромными (не параллелятся queries); нет replicas в prod (одна нода вниз = data loss); all-rounder ноды на масштабе (master-задачи заглушены data-queries).