Sample config for elasticsearch cluster. You can exploit these settings to design advanced cluster topologies. 1. You want this node to never become a master node, only to hold data. This will be the "workhorse" of your cluster. 2. You want this node to only serve as a master: to not store any data and to have free resources. This will be the "coordinator" of your cluster. 3. You want this node to be neither master nor data node, but to act as a "search load balancer" (fetching data from nodes, aggregating results, etc.) A node can have generic attributes associated with it, which can later be used for customized shard allocation filtering, or allocation awareness. An attribute is a simple key value pair, similar to node.key: value, here is an example: By default, multiple nodes are allowed to start from the same installation location to disable it, set the following: Note, that for development on a local machine, with small indices, it usually makes sense to "disable" the distributed features: See <http://elasticsearch.org/guide/reference/setup/configuration.html>

August 14, 2013
Name of cluster group

Classify of node type, default is master, field type bolean

Allow this node to store data, field type bolean.

Name of the node

Number of the storage nodes.

Path to temporary files, don't use /tmp

Path to log files

Path to directory where to store index data allocated for this node

Bind for all comunication port.

Compress transport, field type bolean

cluster.name: %{Clustername}%

node.name: %{NodeHost}%

node.master: %{Nodetype}%
node.data: %{Storage}%

# node.rack: rack314

node.max_local_storage_nodes: %{NodeStorageNunber}%

index.number_of_shards: 5

index.number_of_shards: 1
index.number_of_replicas: 0

path.data: %{DataFiles}%

path.work: %{WorkFiles}%
path.logs: %{Logs}%

# path.plugins: /path/to/plugins

network.host: %{bind_host}%
# transport.tcp.port: 9300

transport.tcp.compress: %{Gzip_transp}%
# http.port: 9200

# http.max_content_length: 100mb

# http.enabled: false

# gateway.type: local
# gateway.recover_after_nodes: 1
# gateway.recover_after_time: 5m
# gateway.expected_nodes: 2

# cluster.routing.allocation.node_initial_primaries_recoveries: 4
# cluster.routing.allocation.node_concurrent_recoveries: 2
# indices.recovery.max_size_per_sec: 0
# indices.recovery.concurrent_streams: 5

# discovery.zen.minimum_master_nodes: 1
# discovery.zen.ping.timeout: 3s
# discovery.zen.ping.multicast.enabled: false
# discovery.zen.ping.unicast.hosts: ["host1", "host2:port", "host3[portX-portY]"]

#index.search.slowlog.threshold.query.warn: 10s
#index.search.slowlog.threshold.query.info: 5s
#index.search.slowlog.threshold.query.debug: 2s
#index.search.slowlog.threshold.query.trace: 500ms

#index.search.slowlog.threshold.fetch.warn: 1s
#index.search.slowlog.threshold.fetch.info: 800ms
#index.search.slowlog.threshold.fetch.debug: 500ms
#index.search.slowlog.threshold.fetch.trace: 200ms

#index.indexing.slowlog.threshold.index.warn: 10s
#index.indexing.slowlog.threshold.index.info: 5s
#index.indexing.slowlog.threshold.index.debug: 2s
#index.indexing.slowlog.threshold.index.trace: 500ms

#monitor.jvm.gc.ParNew.warn: 1000ms
#monitor.jvm.gc.ParNew.info: 700ms
#monitor.jvm.gc.ParNew.debug: 400ms

#monitor.jvm.gc.ConcurrentMarkSweep.warn: 10s
#monitor.jvm.gc.ConcurrentMarkSweep.info: 5s
#monitor.jvm.gc.ConcurrentMarkSweep.debug: 2s