Wie stellen Sie ES-Cluster (Elasticsearch) bereit?Elasticsearch-Cluster über Docker
Ich benutze Docker Swarm + Compose für meine Systeme einsetzen, und ich versuche ES Cluster von .yml zu implementieren:
version: '3.3'
services:
elasticsearch:
image: elasticsearch:alpine
ports:
- '9200:9200'
- '9300:9300'
command: [ elasticsearch, -E, network.host=0.0.0.0, -E, discovery.zen.ping.unicast.hosts=elasticsearch, -E, discovery.zen.minimum_master_nodes=1, -E, cluster.name=mycluster ]
networks:
- esnet1
environment:
ES_JAVA_OPTS: "-Xmx512m -Xms512m"
deploy:
mode: replicated
replicas: 2
#endpoint_mode: dnsrr
resources:
limits:
cpus: '2'
memory: 1024M
reservations:
cpus: '0.50'
memory: 512M
networks:
esnet1:
Anruf Anfrage <ip>:9200/_cat/nodes?v
Ich sehe einzelne Instanz. Problem https://github.com/elastic/elasticsearch-docker/issues/91 sagen, dass es ein Fehler in Docker ist und es wird behoben werden. Es ist OK, aber ES ohne Cluster ist es nicht ES! Im Internet habe ich gesehen, dass Leute verschiedene Dienste als Master und als Slave einsetzen, aber es ist plumpe Lösung, weil The ES selbst bestimmt, wer der Master ist und wer nicht, tut es kompetent. Und interessante Frage: Wie stellen Sie Ihren ES-Cluster bereit?