Briefly, this error occurs when Elasticsearch is unable to automatically determine the HTTP 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’ setting in the configuration file to define the HTTP publish port.
This guide will help you check for common problems that cause the log ” Failed to auto-resolve http publish port; 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 http publish port; multiple bound addresses” class name is AbstractHttpServerTransport.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :
publishPort = ports.iterator().next().value; } } if (publishPort < 0) { throw new BindHttpException("Failed to auto-resolve http publish port; multiple bound addresses " + boundAddresses + " with distinct ports and none of them matched the publish address (" + publishInetAddress + "). " + "Please specify a unique port by setting " + SETTING_HTTP_PORT.getKey() + " or " + SETTING_HTTP_PUBLISH_PORT.getKey()); } return publishPort; }