Funbit
Funbit

Reputation: 1721

How to bind Elasticsearch 2.0 on both Loopback and Non-Loopback interfaces?

Starting from version 2.0 Elasticsearch binds only on the loopback interface by default (_local_ in terms of configuration).

The documentation says that there is a way to switch to another network, for example, _non_loopback_ binds to the first non-loopback interface. It works fine.

But I cannot figure out how do I combine these settings so that Elasticsearch binds on both loopback and non-loopback interfaces simultaneously?

PS. My reason is that I use Logstash on each Elasticsearch instance that connects to it via localhost, but I also want other Elasticsearch instances to see each other to form the cluster...

Upvotes: 16

Views: 21495

Answers (3)

Dexter Legaspi
Dexter Legaspi

Reputation: 3312

As of ElasticSearch 7.x, this configuration has changed yet again. for a simple single node cluster bound to loopback, local and external IPs, you essentially do this:

network.host: [_local_, _site_, _global_]
cluster.initial_master_nodes: node-1

The cluster node setting is explained here while the network host setting is in the documentation here, although it doesn't say how you would assign multiple values to network.host.

Upvotes: 8

ketankk
ketankk

Reputation: 2674

Go to

'<path_to_elasticsearch>/elasticsearch-2.3.4/config'

Open elasticsearch.yml

Add network.host: 0.0.0.0

Now check which port elasticsearch is using (9200 is default), go to firewall inbound rules and add those ports.

Upvotes: 2

Andrei Stefan
Andrei Stefan

Reputation: 52366

For 2.0 you would need to use

network.bind_host: 0

Upvotes: 40

Related Questions