Handshake failed unexpected remote node – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when an Elasticsearch node tries to connect to another node but fails because the remote node is not part of the expected cluster. This could be due to misconfiguration, network issues, or version incompatibility. To resolve this, ensure that all nodes have the correct cluster name, are on the same network, and are running compatible versions of Elasticsearch. Also, check your firewall settings to ensure that the nodes can communicate with each other.

This guide will help you check for common problems that cause the log ” handshake failed. unexpected remote node ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .

Log Context

Log “handshake failed. unexpected remote node” class name is TransportService.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 return (newConnection; actualProfile; listener) -> {
 // We don't validate cluster names to allow for CCS connections.
 handshake(newConnection; actualProfile.getHandshakeTimeout(); cn -> true; listener.map(resp -> {
 final DiscoveryNode remote = resp.discoveryNode;
 if (node.equals(remote) == false) {
 throw new ConnectTransportException(node; "handshake failed. unexpected remote node " + remote);
 }
 return null;
 }));
 };
 }

 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?