use hostname as node name

make masters scalable
use per container named volumes
This commit is contained in:
Dominic Werner 2017-04-12 16:41:10 +02:00
parent 91127c4407
commit 0b846900fa
3 changed files with 27 additions and 36 deletions

View File

@ -1,3 +1,3 @@
# Elasticsearch Cluster
A 3-Node Elasticsearch Cluster with Kibana
A scalable Elasticsearch cluster with Kibana

View File

@ -1,9 +1,12 @@
version: '2'
services:
es-master-01:
es-master:
labels:
- io.rancher.container.hostname_override=container_name
image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "ES_JAVA_OPTS=-Xms${heap_size} -Xmx${heap_size}"
@ -21,38 +24,18 @@ services:
cap_add:
- IPC_LOCK
volumes:
- es-master-01-data:/usr/share/elasticsearch/data
es-master-02:
image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0
environment:
- "cluster.name=${cluster_name}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "ES_JAVA_OPTS=-Xms${heap_size} -Xmx${heap_size}"
- "discovery.zen.minimum_master_nodes=2"
- "node.master=true"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes:
- es-master-02-data:/usr/share/elasticsearch/data
- es-master-data:/usr/share/elasticsearch/data
es-node:
labels:
- io.rancher.container.hostname_override=container_name
image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0
environment:
- "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "discovery.zen.ping.unicast.hosts=es-master-01,es-master-02"
- "discovery.zen.ping.unicast.hosts=es-master"
- "ES_JAVA_OPTS=-Xms${heap_size} -Xmx${heap_size}"
- "node.master=false"
ulimits:
@ -67,26 +50,30 @@ services:
cap_add:
- IPC_LOCK
volumes:
- /usr/share/elasticsearch/data
- es-node-data:/usr/share/elasticsearch/data
depends_on:
- es-master
kibana:
labels:
- io.rancher.container.hostname_override=container_name
image: docker.elastic.co/kibana/kibana:5.3.0
container_name: kibana
environment:
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "ELASTICSEARCH_URL=http://es-master-01:9200"
- "ELASTICSEARCH_URL=http://es-master:9200"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
mem_limit: 1073741824
mem_swappiness: 0
ports:
- "${kibana_port}:5601"
depends_on:
- es-master-01
- es-master
volumes:
es-master-01-data:
es-master-data:
driver: local
es-master-02-data:
per_container: true
es-node-data:
driver: local
per_container: true

View File

@ -33,4 +33,8 @@
default: 5601
es-master:
scale: 2
es-node:
scale: 1