I'm currently trying out Elasticsearch on an ec2 machine and
connecting to it via JSON or elasticsearch-head works using the public
IP. I simply want to make it insecure and open Elasticsearch to
everyone.
But using the transport client does not work - it waits some seconds
and then reports that there is no node available.
How can I tell elasticsearch to use the public IP adress as
elasticsearch says:
[2011-09-26 15:32:56,469][INFO ][transport ] [Starhawk]
bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/
THE_PRIVATE_IP:9300]}
I tried this in the config:
network.publish_host.ec2: publicIpv4
but it does not work. Also I do not understand why the ES-HEAD works
over 9200 and the transport client not, although both are binding to
the private adress (both ports + http are open). Can someone explain
this to a network noob ?
I'm currently trying out Elasticsearch on an ec2 machine and
connecting to it via JSON or elasticsearch-head works using the public
IP. I simply want to make it insecure and open Elasticsearch to
everyone.
But using the transport client does not work - it waits some seconds
and then reports that there is no node available.
How can I tell elasticsearch to use the public IP adress as
elasticsearch says:
[2011-09-26 15:32:56,469][INFO ][transport ] [Starhawk]
bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/
THE_PRIVATE_IP:9300]}
I tried this in the config:
network.publish_host.ec2: publicIpv4
but it does not work. Also I do not understand why the ES-HEAD works
over 9200 and the transport client not, although both are binding to
the private adress (both ports + http are open). Can someone explain
this to a network noob ?
The log that you see means that when a nodes starts up, and tries to check
for the list of nodes to connect to, it goes to the amazon API and fetches
the list of machines. By default, it will use the private IP to try and
connect to the node. You don't really need to change, but you can, by
setting discovery.ec2.host_type to public_ip.
The instance started binds to "any host" address. The fact that you can
connect to it using elasticsearch-head means that it works host wise. Are
you sure you opened the 9300 port in the security group or other firewall
settings?
I have re-enabled the port and but it is the same problem.
What I cannot understand is why I cannot even make it working when
using a ssh port forwarding:
ssh -l user -L 9999:localhost:9300 PUBLIC_IP
then using 9999 as port in the transport client (which btw does not
use the aws cloud settings)
The log that you see means that when a nodes starts up, and tries to check
for the list of nodes to connect to, it goes to the amazon API and fetches
the list of machines. By default, it will use the private IP to try and
connect to the node. You don't really need to change, but you can, by
setting discovery.ec2.host_type to public_ip.
The instance started binds to "any host" address. The fact that you can
connect to it using elasticsearch-head means that it works host wise. Are
you sure you opened the 9300 port in the security group or other firewall
settings?
I have re-enabled the port and but it is the same problem.
What I cannot understand is why I cannot even make it working when
using a ssh port forwarding:
ssh -l user -L 9999:localhost:9300 PUBLIC_IP
then using 9999 as port in the transport client (which btw does not
use the aws cloud settings)
The log that you see means that when a nodes starts up, and tries to check
for the list of nodes to connect to, it goes to the amazon API and fetches
the list of machines. By default, it will use the private IP to try and
connect to the node. You don't really need to change, but you can, by
setting discovery.ec2.host_type to public_ip.
The instance started binds to "any host" address. The fact that you can
connect to it using elasticsearch-head means that it works host wise. Are
you sure you opened the 9300 port in the security group or other firewall
settings?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.