Unable to bind elasticsearch server from distant machine


#1

Hi folks,

My problem must have been discussed on million times but I am unable to bind my Elasticsearch server from another computer on the same network.
Server IP adress is 10.80.93.112, and I try to access using http://10.80.93.112:9200 from my web browser installed on my laptop.
However when I run curl http://localhost:9200 or curl http://127.0.0.1:9200 from local system it seems to work normally.

Any idea?


(Magnus Bäck) #2

Is ES listening on all interfaces? It should do that by default (so you should be fine) but it can be disabled in elasticsearch.yml. Is there a firewall that's blocking the access?


#3

My elastcsearch config file has not been modified.
No firewell blocks any access between my server and my distant laptop.

Content of /var/logs/elasticsearch/elasticsearch.log:

[2015-10-15 15:23:46,120][INFO ][node                     ] [Starhawk] version[2.0.0-rc1], pid[2743], build[4757962/2015-10-01T10:06:08Z]
[2015-10-15 15:23:46,121][INFO ][node                     ] [Starhawk] initializing ...
[2015-10-15 15:23:46,257][INFO ][plugins                  ] [Starhawk] loaded [], sites []
[2015-10-15 15:23:46,394][INFO ][env                      ] [Starhawk] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [11gb], net total_space [14.7gb], spins? [unknown], types [rootfs]
[2015-10-15 15:23:48,460][INFO ][node                     ] [Starhawk] initialized
[2015-10-15 15:23:48,460][INFO ][node                     ] [Starhawk] starting ...
[2015-10-15 15:23:48,664][INFO ][transport                ] [Starhawk] publish_address {127.0.0.1:9300}, bound_addresses {127.0.0.1:9300}, {[::1]:9300}
[2015-10-15 15:23:48,673][INFO ][discovery                ] [Starhawk] elasticsearch/iR4wFarCRTerXyJBB9HO0A
[2015-10-15 15:23:51,724][INFO ][cluster.service          ] [Starhawk] new_master {Starhawk}{iR4wFarCRTerXyJBB9HO0A}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)
[2015-10-15 15:23:51,773][INFO ][http                     ] [Starhawk] publish_address {127.0.0.1:9200}, bound_addresses {127.0.0.1:9200}, {[::1]:9200}
[2015-10-15 15:23:51,774][INFO ][node                     ] [Starhawk] started
[2015-10-15 15:23:51,831][INFO ][gateway                  ] [Starhawk] recovered [1] indices into cluster_state

I don't understand why publish_address and bound_addresses params are set with 127.0.0.1, and not 10.80.93.112 as said in documentation.
To be completly transparent I'm trying to upgrade my server from elasticsearch 1.7 to elasticsearch 2 RC, and my old system was running well until this morning.
To do this I uninstalled 1.7 version using aptitude --purge elasticsearch, removed the /var/opt/elasticsearch directory that stayed here, and reinstall version 2 from freshly downdloaded .deb package (dpkg --install elasticsearch). I edited /etc/default/elasticsearch script and change memory value (2g to 4g).
To complete the environment description a proxy has been installed at first time of installation, with the goal to access to Kibana on port 5301.
Note that this operation has been done successfully on a testing environment but in a virtual machine (so I did't test access from distant machine on this environment).


(Magnus Bäck) #4

ES 2.0 by default binds to localhost only. See https://www.elastic.co/guide/en/elasticsearch/reference/2.0/modules-network.html.


#5

Thank you for the link.
I tried to modify elasticsearch.yml and add both ip address (10.80.93.112) and loopback address (127.0.0.1) but without success. Maybe the syntax I used is wrong, this point is not very well documented. Any idea about the right synthax?


(system) #6