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 # Elasticsearch Cluster
A 3-Node Elasticsearch Cluster with Kibana A scalable Elasticsearch cluster with Kibana

View File

@ -1,9 +1,12 @@
version: '2' version: '2'
services: services:
es-master-01: es-master:
labels:
- io.rancher.container.hostname_override=container_name
image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0 image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0
environment: environment:
- "cluster.name=${cluster_name}" - "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true" - "bootstrap.memory_lock=true"
- "xpack.security.enabled=false" - "xpack.security.enabled=false"
- "ES_JAVA_OPTS=-Xms${heap_size} -Xmx${heap_size}" - "ES_JAVA_OPTS=-Xms${heap_size} -Xmx${heap_size}"
@ -20,39 +23,19 @@ services:
mem_swappiness: 0 mem_swappiness: 0
cap_add: cap_add:
- IPC_LOCK - IPC_LOCK
volumes: volumes:
- es-master-01-data:/usr/share/elasticsearch/data - es-master-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-node: es-node:
labels:
- io.rancher.container.hostname_override=container_name
image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0 image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0
environment: environment:
- "cluster.name=${cluster_name}" - "cluster.name=${cluster_name}"
- "node.name=$${HOSTNAME}"
- "bootstrap.memory_lock=true" - "bootstrap.memory_lock=true"
- "xpack.security.enabled=false" - "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}" - "ES_JAVA_OPTS=-Xms${heap_size} -Xmx${heap_size}"
- "node.master=false" - "node.master=false"
ulimits: ulimits:
@ -67,26 +50,30 @@ services:
cap_add: cap_add:
- IPC_LOCK - IPC_LOCK
volumes: volumes:
- /usr/share/elasticsearch/data - es-node-data:/usr/share/elasticsearch/data
depends_on:
- es-master
kibana: kibana:
labels:
- io.rancher.container.hostname_override=container_name
image: docker.elastic.co/kibana/kibana:5.3.0 image: docker.elastic.co/kibana/kibana:5.3.0
container_name: kibana
environment: environment:
- "bootstrap.memory_lock=true" - "bootstrap.memory_lock=true"
- "xpack.security.enabled=false" - "xpack.security.enabled=false"
- "ELASTICSEARCH_URL=http://es-master-01:9200" - "ELASTICSEARCH_URL=http://es-master:9200"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
mem_limit: 1073741824 mem_limit: 1073741824
mem_swappiness: 0 mem_swappiness: 0
ports: ports:
- "${kibana_port}:5601" - "${kibana_port}:5601"
depends_on: depends_on:
- es-master-01 - es-master
volumes:
volumes: es-master-data:
es-master-01-data:
driver: local driver: local
es-master-02-data: per_container: true
es-node-data:
driver: local driver: local
per_container: true

View File

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