Briefly, this error occurs when Elasticsearch is unable to automatically determine the publish port due to multiple bound addresses. This can happen when the node is configured to bind to multiple network interfaces. To resolve this issue, you can specify a single network interface in the Elasticsearch configuration file (elasticsearch.yml) using the ‘network.host’ setting. Alternatively, you can explicitly set the ‘http.publish_port’ or ‘transport.publish_port’ depending on your setup. This will help Elasticsearch to identify the correct publish port.
This guide will help you check for common problems that cause the log ” Failed to auto-resolve publish port” + profileExplanation + “; multiple bound addresses ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .
Log Context
Log “Failed to auto-resolve publish port” + profileExplanation + “; multiple bound addresses ” class name is TcpTransport.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :
} } if (publishPort < 0) { String profileExplanation = profileSettings.isDefaultProfile ? "" : " for profile " + profileSettings.profileName; throw new BindTransportException("Failed to auto-resolve publish port" + profileExplanation + "; multiple bound addresses " + boundAddresses + " with distinct ports and none of them matched the publish address (" + publishInetAddress + "). " + "Please specify a unique port by setting " + TransportSettings.PORT.getKey() + " or " + TransportSettings.PUBLISH_PORT.getKey()); } return publishPort;