Phillip Tribble
Phillip Tribble

Reputation: 83

Elasticsearch 6.3 bound or publishing to a non-loopback address, enforcing bootstrap checks

I am struggling for days trying to get a new ES 6.3 cluster setup in Docker (--net=host) . The error is as below:

[2018-06-20T16:31:45,766][INFO ][o.e.t.TransportService   ] [rpi-1] publish_address {192.168.0.101:9300}, bound_addresses {192.168.0.101:9300}
[2018-06-20T16:31:45,834][INFO ][o.e.b.BootstrapChecks    ] [rpi-1] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [1] bootstrap checks failed
[1]: JVM is using the client VM [Java HotSpot(TM) Client VM] but should be using a server VM for the best performance
[2018-06-20T16:31:45,886][INFO ][o.e.n.Node               ] [rpi-1] stopping ...
[2018-06-20T16:31:45,984][INFO ][o.e.n.Node               ] [rpi-1] stopped
[2018-06-20T16:31:45,985][INFO ][o.e.n.Node               ] [rpi-1] closing ...
[2018-06-20T16:31:46,025][INFO ][o.e.n.Node               ] [rpi-1] closed

If I remove network.publish_host: 192.168.0.101 from the config below, it will start up and try to connect to another node but will fail because it is trying to join a cluster using 127.0.0.1

My Config:

#action.destructive_requires_name: true
xpack.ml.enabled: false
node.name:  c054915212b1
discovery.zen.ping.unicast.hosts: [192.168.0.108, 192.168.0.103, 192.168.0.104]
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
network.publish_host:  192.168.0.101
http.bind_host:  192.168.0.101
http.publish_host:  192.168.0.101
http.host:  192.168.0.101

I have never had an issue setting up a cluster prior to this release. Your help is greatly appreciated.

I also tried it like this with the same results;

action.destructive_requires_name: true
xpack.ml.enabled: false
node.name:  rpi-1
discovery.zen.ping.unicast.hosts: [192.168.0.108, 192.168.0.103, 192.168.0.104]
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
network.host:  192.168.0.101

Upvotes: 6

Views: 7808

Answers (1)

ugosan
ugosan

Reputation: 1586

Whenever you bind to an external interface Elasticsearch assumes this is a production cluster and goes over a series of bootstrap checks. Maybe your memory is not locked up? try setting the same values for minimum and maximum RAM in jvm.options or using a command line flag.

Take a look at this guide: https://www.elastic.co/guide/en/elasticsearch/reference/master/bootstrap-checks.html

Upvotes: 2

Related Questions