Skip to content

Instantly share code, notes, and snippets.

@glenacota
Last active August 25, 2022 08:50
Show Gist options
  • Save glenacota/16cf095a9815a4c45fb87bd7d1779a4e to your computer and use it in GitHub Desktop.
Save glenacota/16cf095a9815a4c45fb87bd7d1779a4e to your computer and use it in GitHub Desktop.
Docker-compose file to build up an ElasticSearch cluster with 1 master node, 2 datanodes supporting allocation awareness, and a Kibana instance. (v6.5.4)
version: '3'
services:
master:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
container_name: master
environment:
- cluster.name=elastic-cluster
- node.name=master
- node.master=true
- node.data=false
- node.ingest=false
- bootstrap.memory_lock=true
- xpack.license.self_generated.type=basic
- ES_JAVA_OPTS=-Xms512m -Xmx512m
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- master-data:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- elastic-net
datanode-europe:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
container_name: datanode-europe
environment:
- cluster.name=elastic-cluster
- node.name=datanode-europe
- node.master=false
- node.data=true
- node.attr.my_zone=europe
- bootstrap.memory_lock=true
- discovery.zen.ping.unicast.hosts=master,datanode-asia
- xpack.license.self_generated.type=basic
- ES_JAVA_OPTS=-Xms512m -Xmx512m
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- datanode-europe-data:/usr/share/elasticsearch/data
networks:
- elastic-net
datanode-asia:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
container_name: datanode-asia
environment:
- cluster.name=elastic-cluster
- node.name=datanode-asia
- node.master=false
- node.data=true
- node.attr.my_zone=asia
- bootstrap.memory_lock=true
- discovery.zen.ping.unicast.hosts=master,datanode-europe
- xpack.license.self_generated.type=basic
- ES_JAVA_OPTS=-Xms512m -Xmx512m
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- datanode-asia-data:/usr/share/elasticsearch/data
networks:
- elastic-net
kibana:
image: docker.elastic.co/kibana/kibana:6.5.4
container_name: kibana
environment:
- elasticsearch.url=http://elasticsearch:9200
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 5601:5601
networks:
- elastic-net
links:
- datanode-europe:elasticsearch
volumes:
master-data:
driver: local
datanode-europe-data:
driver: local
datanode-asia-data:
driver: local
networks:
elastic-net:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment