Cross-cluster search
Тема дорожной карты · Elasticsearch
Межкластерный поиск (Cross-Cluster Search, CCS) в Elasticsearch позволяет одному запросу на языке Query DSL одновременно охватывать несколько кластеров Elasticsearch, возвращая единый результирующий набор так, как если бы все данные находились в одном месте. Для включения межкластерного поиска удалённые кластеры регистрируются на координирующем кластере с помощью PUT /_cluster/settings в пространстве имён cluster.remote, где указываются имена хостов и порты удалённых узлов. После настройки удалённые индексы запрашиваются с префиксом в виде псевдонима кластера и двоеточия, например GET /remote-cluster:logs-*/_search. Межкластерный поиск широко применяется в Elastic Stack для федеративного поиска по географически распределённым инсталляциям или для изоляции производственных данных от аналитических нагрузок, выполняемых на отдельном кластере. Elasticsearch также поддерживает репликацию между кластерами (Cross-Cluster Replication, CCR), которая непрерывно реплицирует индексы с кластера-лидера на кластеры-последователи для аварийного восстановления и снижения задержки при локальном чтении.
Как это работает
Cross-cluster search: cluster health (/_cluster/health — green/yellow/red), shard allocation (rebalancing, awareness, exclusion), Snapshot + Restore (на S3, GCS, MinIO, NFS) для бэкапов, Cross-cluster Search (query нескольких кластеров), Hot-Warm-Cold tiered архитектура (свежие данные на fast SSD, старые на cheap HDD/object store). На масштабе ES Frozen tier + searchable snapshots позволяют держать месяцы логов по cloud-storage ценам.
Когда применять
Snapshots с первого дня — backup ваш единственный выход из data corruption. Rack/zone awareness для HA — shards на multiple failure domains. Мониторьте pending_tasks — растущая очередь = master перегружен. Для long-retention logs — tiered storage (hot/warm/cold), цена — доля от all-SSD.
Типичные ошибки
Ловушки Cross-cluster search: нет snapshot стратегии (один плохой диск = данных нет); cluster split-brain (избегайте: 3+ master ноды, quorum-based); игнор yellow health (один rolling restart делает red); вручную двигают shards (кластер rebalance обратно, если не excluded).