版本: 7.13-7.15
简而言之,当 Elasticsearch 由于配置缺失或不正确而无法建立传输连接时,会发生此错误。这可能是因为传输模块未正确配置,或者传输客户端未正确初始化。要解决此问题,您可以检查 Elasticsearch 配置文件(elasticsearch.yml)以确保传输模块配置正确。此外,确保传输客户端在应用程序中正确初始化。如果您使用的是安全插件,也要确保其配置正确。
日志上下文 #
日志 “transport cannot be null” 的类名是 HttpTlsRuntimeCheck.java. 我们从 Elasticsearch 源代码中提取了以下内容,以供那些寻求深入了解的人参考:
// 如果启用了安全性;但 HTTP 接口未启用 TLS
if (securityEnabled && false == httpTlsEnabled) {
if (false == initialized.get()) {
final Transport transport = transportReference.get();
if (transport == null) {
exceptionConsumer.accept(new ElasticsearchException("transport cannot be null"));
return;
}
final boolean boundToLocal = Arrays.stream(transport.boundAddress().boundAddresses())
.allMatch(b -> b.address().getAddress().isLoopbackAddress())
&& transport.boundAddress().publishAddress().address().getAddress().isLoopbackAddress();





