Elastisearch installed via rpm only listens on localhost, not other IP address

I’m running amazon linux, as:
uname -a
Linux ip-172-31-23-41.ec2.internal 4.14.138-114.102.amzn2.x86_64 #1 SMP Thu Aug 15 15:29:58 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

installed via RPM package:
opendistroforelasticsearch.noarch 1.2.0-1

with the default values in /etc/elasticsearch/elasticsearch.yml
it comes up listening on localhost as:

sudo lsof -i -P -n | grep LISTEN | grep 9200
java 16250 elasticsearch 251u IPv6 3124716 0t0 TCP [::1]:9200 (LISTEN)
java 16250 elasticsearch 252u IPv6 3124717 0t0 TCP (LISTEN)

all well and good so far…

but I’m failing to get it to listen to any other network interface. I’ve tried the following combinations in elasticsearch.yml
network.host: – elastisearch fails to start
network.host: “” – elastisearch fails to start
server.host: “” – starts but lsof shows nothing listening on port 9200
server.host: – still listens just localhost

using “sudo systemctl start elasticsearch.service” to start/stop/status

any advice is welcome. Thanks in advance.


This is long overdue but may help someone,

Had the same issue, checked on the log and found message below

[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

So added the discovery.seed_hosts in the elasticsearch.yml and it starts after setting network.host