From 0b846900faf17d493e056be2e200f71f14e3344b Mon Sep 17 00:00:00 2001 From: Dominic Werner Date: Wed, 12 Apr 2017 16:41:10 +0200 Subject: [PATCH] use hostname as node name make masters scalable use per container named volumes --- templates/es-cluster/0/README.md | 2 +- templates/es-cluster/0/docker-compose.yml | 57 +++++++++------------- templates/es-cluster/0/rancher-compose.yml | 4 ++ 3 files changed, 27 insertions(+), 36 deletions(-) diff --git a/templates/es-cluster/0/README.md b/templates/es-cluster/0/README.md index 55dd709..f6452e4 100644 --- a/templates/es-cluster/0/README.md +++ b/templates/es-cluster/0/README.md @@ -1,3 +1,3 @@ # Elasticsearch Cluster -A 3-Node Elasticsearch Cluster with Kibana \ No newline at end of file +A scalable Elasticsearch cluster with Kibana \ No newline at end of file diff --git a/templates/es-cluster/0/docker-compose.yml b/templates/es-cluster/0/docker-compose.yml index 3b61c94..d239c2e 100644 --- a/templates/es-cluster/0/docker-compose.yml +++ b/templates/es-cluster/0/docker-compose.yml @@ -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}" @@ -20,39 +23,19 @@ services: mem_swappiness: 0 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 + volumes: + - 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: +volumes: + es-master-data: driver: local - es-master-02-data: + per_container: true + es-node-data: driver: local + per_container: true diff --git a/templates/es-cluster/0/rancher-compose.yml b/templates/es-cluster/0/rancher-compose.yml index bd46efb..bb04d7b 100644 --- a/templates/es-cluster/0/rancher-compose.yml +++ b/templates/es-cluster/0/rancher-compose.yml @@ -33,4 +33,8 @@ default: 5601 +es-master: + scale: 2 +es-node: + scale: 1 \ No newline at end of file