We are having issues with the java client connecting to elasticsearch through a virtual IP. We have the vip set up on our F5 with all the nodes of the cluster in the vip.
We can connect to the cluster using the vip and specifying port 9200 (eg. curl "http//vip-name:9200")
We can connect to the cluster with the java client if we specify one of the cluster nodes (as opposed to the vip)
We can NOT connect to the cluster with the java client if we specify the vip. We get the error:
NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{xx.xx.xx.xx}{xx.xx.xx.xx:9300}]]
xx.xx.xx.xx above is actually the vip IP address.
Any ideas?
The transport client makes use of the data in the cluster state (if configured). This configuration contains the real IP addresses of the nodes and nothing about the load balancer.
The problem however is, that this is also needed for the cluster nodes to communicate with each other and you dont want them to go through the load balancer. I dont have any smart idea on top of my head to solve this, but I might be misunderstanding the architecture as well.
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.