separate data and client nodes, added more options

This commit is contained in:
Dominic Werner 2017-04-19 16:42:14 +02:00
parent 85def78b5a
commit f31d97c613
2 changed files with 93 additions and 23 deletions

View File

@ -3,17 +3,18 @@ services:
es-master:
labels:
- io.rancher.container.hostname_override=container_name
- io.rancher.sidekicks=es-data
- io.rancher.sidekicks=es-storage
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}"
- "ES_JAVA_OPTS=-Xms${master_heap_size} -Xmx${master_heap_size}"
- "discovery.zen.ping.unicast.hosts=es-master"
- "discovery.zen.minimum_master_nodes=${minimum_master_nodes}"
- "node.master=true"
- "node.data=false"
ulimits:
memlock:
soft: -1
@ -21,17 +22,17 @@ services:
nofile:
soft: 65536
hard: 65536
mem_limit: ${mem_limit}
mem_limit: ${master_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-data
- es-storage
es-node:
labels:
es-data:
labels:
- io.rancher.container.hostname_override=container_name
- io.rancher.sidekicks=es-data
- io.rancher.sidekicks=es-storage
image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0
environment:
- "cluster.name=${cluster_name}"
@ -39,8 +40,9 @@ services:
- "bootstrap.memory_lock=true"
- "xpack.security.enabled=false"
- "discovery.zen.ping.unicast.hosts=es-master"
- "ES_JAVA_OPTS=-Xms${heap_size} -Xmx${heap_size}"
- "ES_JAVA_OPTS=-Xms${data_heap_size} -Xmx${data_heap_size}"
- "node.master=false"
- "node.data=true"
ulimits:
memlock:
soft: -1
@ -48,16 +50,46 @@ services:
nofile:
soft: 65536
hard: 65536
mem_limit: ${mem_limit}
mem_limit: ${data_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-data
- es-storage
depends_on:
- es-master
es-client:
labels:
- io.rancher.container.hostname_override=container_name
- io.rancher.sidekicks=es-storage
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"
- "ES_JAVA_OPTS=-Xms${client_heap_size} -Xmx${client_heap_size}"
- "node.master=false"
- "node.data=false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: ${client_mem_limit}
mem_swappiness: 0
cap_add:
- IPC_LOCK
volumes_from:
- es-storage
depends_on:
- es-master
es-data:
es-storage:
labels:
- io.rancher.container.start_once=true
image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0

View File

@ -1,7 +1,7 @@
.catalog:
name: Elasticsearch Cluster
version: 5.3.0-rancher1
description: 3-Node Elasticsearch Cluster with Kibana
description: Scalable Elasticsearch Cluster with Kibana
questions:
- variable: "cluster_name"
@ -11,18 +11,46 @@
description: "Name of the Elasticsearch Cluster"
default: "es-cluster"
- variable: "heap_size"
- variable: "master_heap_size"
type: "string"
required: true
label: "Heap size"
description: "Heap size to be allocated for Java"
label: "Heap size (master nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "mem_limit"
- variable: "master_mem_limit"
type: "int"
required: true
label: "Memory limit in byte"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size!"
label: "Memory limit in byte (master nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (master nodes)"
default: 1073741824
- variable: "data_heap_size"
type: "string"
required: true
label: "Heap size (data nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "data_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (data nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (data nodes)"
default: 1073741824
- variable: "client_heap_size"
type: "string"
required: true
label: "Heap size (client nodes)"
description: "Heap size to be allocated for Java (mater nodes)"
default: "512m"
- variable: "client_mem_limit"
type: "int"
required: true
label: "Memory limit in byte (client nodes)"
description: "Memory limit in Byte per elasticsearch container. AT LEAST double the heap size! (client nodes)"
default: 1073741824
- variable: "kibana_port"
@ -37,18 +65,28 @@
required: true
label: "# of minimum Master Nodes"
description: "Set the number of required master nodes to reach quorum. Sets initial scale to this value as well"
default: 2
default: 3
- variable: "initial_data_nodes"
type: "int"
required: true
label: "# of initial nodes"
description: "Set the initial number of nodes"
label: "# of initial data nodes"
description: "Set the initial number of data nodes"
default: 2
- variable: "initial_client_nodes"
type: "int"
required: true
label: "# of initial client nodes"
description: "Set the initial number of client nodes"
default: 1
es-master:
scale: ${minimum_master_nodes}
es-node:
scale: ${initial_data_nodes}
es-data:
scale: ${initial_data_nodes}
es-client:
scale: ${initial_client_nodes}