1

modules-network in Elastic-Search documentation says that it can bind to more than one network addresses by specifying an array of IP addresses in network.bind_host I put the following in my config/elasticsearch.yaml:

# Used a real IP address in the below settings
network.bind_host: ["10.10.10.10","_local_"]
network.publish_host: 10.10.10.10

But it does not work and I get the following error:

failed to send join request to master [{Perseus}{AB0...B-kw}{10.10.10.172}{10.10.10.172:9300}], 
reason [RemoteTransportException[[Perseus][10.10.10.172:9300][internal:discovery/zen/join]];
nested: ConnectTransportException[[Glitch][10.10.10.164:9300]
connect_timeout[30s]]; nested: NotSerializableExceptionWrapper[Connection refused: /10.10.10.164:9300];

Any ideas what am I doing wrong?

All my other elastic search nodes are running happily on other machines.

I want to bind all elastic-search nodes to a respective IP address as well as _localhost_ so that I can run some storm-jobs on each of the machines whose EsBolts feed only into localhost.

That ways, none of my EsBolts need to round-robin the feed to several Elastic-Search nodes.

user2250246
  • 3,807
  • 5
  • 43
  • 71
  • 1
    See this answer which provides the solution: http://stackoverflow.com/a/33438638/4604579 – Val Mar 19 '16 at 05:40
  • Thank you, this works. I don't get how network.bind_host: 0 works (some explanation would be great like does it looks at publish_host or just binds on all the available IP-addresses etc.) but it solved my problem. Some explanation would be much appreciated ! – user2250246 Mar 19 '16 at 20:46

0 Answers0