Существует два способа развертывания эластичного кластера в Docker Swarm
1) один сервис Docker с репликами, как описано здесь http://derpturkey.com/elasticsearch-cluster-with-docker-engine-swarm-mode/ с DNS Round Robin
version: '3.5'
services:
elastic-2:
image:elasticsearch:7.4.2
deploy:
replicas: 3
...
2) отдельные сервисы, как описано здесь https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
version: '3.5'
services:
elastic-1:
image: elasticsearch:7.4.2
environment:
- node.name=elastic-1
- discovery.seed_hosts=elastic-1,elastic-3,elastic-2
- cluster.initial_master_nodes=elastic-1
- cluster.name=docker-cluster
- "ES_JAVA_OPTS=-Xms2048m -Xmx2048m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata:/usr/share/elasticsearch/data
deploy:
placement:
constraints:
- node.hostname==barn-1
resources:
limits:
memory: 8000M
sysctls:
- vm.max_map_count=262144
elastic-2:
...
elastic-3:
...
Какие из них мне следует использовать для эластичного поиска: 7.X? какие плюсы и минусы у каждого из них?