Running Two nodes on a single Server (RH) - ES 2.3.3

I'm trying to run two ES nodes on a single cluster on the same server.

I have two config files located in separate directories:

Each node-# folder contains a config file.

When I startup each node it is not taking the hostname/node name values in the config file. It is defaulting to the Marvel comic name for each node. It does appear to take the port #'s I'm assigning for transport and listening.
/opt/ElasticSearch/elasticsearch-2.3.3/bin/elasticsearch -Des.path.conf=/opt/ElasticSearch/elasticsearch-2.3.3/config/node-1

/opt/ElasticSearch/elasticsearch-2.3.3/bin/elasticsearch -Des.path.conf=/opt/ElasticSearch/elasticsearch-2.3.3/config/node-2

starting up node-1 results:
[2016-06-29 14:53:32,071][WARN ][bootstrap ] unable to install syscall filter: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
[2016-06-29 14:53:32,192][INFO ][node ] [Psyche] version[2.3.3], pid[3030], build[218bdf1/2016-05-17T15:40:04Z]
[2016-06-29 14:53:32,192][INFO ][node ] [Psyche] initializing ...
[2016-06-29 14:53:32,644][INFO ][plugins ] [Psyche] modules [reindex, lang-expression, lang-groovy], plugins [], sites []
[2016-06-29 14:53:32,663][INFO ][env ] [Psyche] using [1] data paths, mounts [[/opt/ElasticSearch (/dev/mapper/1t-clear)]], net usable_space [955.5gb], net total_space [1006.8gb], spins? [possibly], types [ext4]
[2016-06-29 14:53:32,664][INFO ][env ] [Psyche] heap size [989.8mb], compressed ordinary object pointers [true]
[2016-06-29 14:53:32,664][WARN ][env ] [Psyche] max file descriptors [4096] for elasticsearch process likely too low, consider increasing to at least [65536]
[2016-06-29 14:53:34,127][INFO ][node ] [Psyche] initialized
[2016-06-29 14:53:34,127][INFO ][node ] [Psyche] starting ...
[2016-06-29 14:53:34,185][INFO ][transport ] [Psyche] publish_address {}, bound_addresses {[::1]:9300}, {}
[2016-06-29 14:53:34,189][INFO ][discovery ] [Psyche] elasticsearch/dfmNmn1xTiumZ_GdnJiYAw
[2016-06-29 14:53:37,248][INFO ][cluster.service ] [Psyche] new_master {Psyche}{dfmNmn1xTiumZ_GdnJiYAw}{}{}, reason: zen-disco-join(elected_as_master, [0] joins received)
[2016-06-29 14:53:37,284][INFO ][http ] [Psyche] publish_address {}, bound_addresses {[::1]:9200}, {}
[2016-06-29 14:53:37,284][INFO ][node ] [Psyche] started
[2016-06-29 14:53:37,341][INFO ][gateway ] [Psyche] recovered [0] indices into cluster_state
^C^C[2016-06-29 14:53:43,766][INFO ][node ] [Psyche] stopping ...
[2016-06-29 14:53:43,783][INFO ][node ] [Psyche] stopped
[2016-06-29 14:53:43,783][INFO ][node ] [Psyche] closing ...
[2016-06-29 14:53:43,791][INFO ][node ] [Psyche] closed

If I run a single elastic command with the default path for config, data, logs etc. it starts up with the correct node name, directories and I can hit the 9200 port via browser.

Node-1 config values: ES_US-East_Cluster_Dev-1 "ES__US-East_Node-1_Dev-1" els-mstr-1
network.bind_host: 10.x.x.x
network.publish_host: 10.x.x.x
http.port: 9200
transport.tcp.port: 9300


nothing of your config file is actually applied. The service is also bound to Are you sure the file is picked up? Do you have any prefixed tabs or spaces in the config file?


Got it working because it isn't explicitly stated that the config files for multi-nodes configs on a single server can be in different folders but have to be named elasticsearch.yml for it to be recognized. I have named my config files els-node-1.yml and els-node-2.yml. Changed the names to elasticsearch.yml and they were recognized.

The second node isn't connecting to the cluster which is run by the first node that I have set as master. At startup, it pulls the cluster name from it's config file but say this:
[2016-07-11 19:17:31,026][INFO ][discovery ] [Node-2_Dev-1] Cluster_Dev-1/y4BStusNhOv1yP9Sw
[2016-07-11 19:18:01,029][WARN ][discovery ] [Node-2_Dev-1] waited for 30s and no initial state was set by the discovery