遇到问题:
使用TransportClient连接Elasticsearch时出现了NoNodeAvailableException:
[None of the configured nodes are available:[{#transport#-1}{Wn5UYXoTTIaPT4LZ3-RtZg}{???.???.?.???}{???.???.?.???:24148}]]
问题原因:
问题出错发生在代码中:
new InetSocketTransportAddress(InetAddress.getByName("???.???.???.???"), 24148);
博主公司使用的是华为的FusionInsight HD,华为提供的Elasticsearch组件中:
EsMaster的HTTP/HTTPS端口默认值是24148,
EsMaster与其他实例交互的TCP端口默认值是24147。
查看端口方法: FusionInsight Manager=>服务管理=>Elasticsearch实例=>Emaster实例配置=>全部配置=>端口
所以在浏览器中访问Elasticsearch时使用24148端口号,在代码中应该使用24147端口号连接Elasticsearch实例
解决方案:
在代码中更改端口号为TCP端口24147即可。
注:此方法同样使用于9300/9200端口