Java client can't connect when using a virtual IP

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?

Thanks!

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.

See the docs https://www.elastic.co/guide/en/elasticsearch/reference/5.5/modules-network.html#advanced-network-settings

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.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.