elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available
项目中使用ES查询报错:报错主要信息:org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available我是刚刚接触elasticsearch,这个问题研究了小半天,其实问题是这样的:elasticsearch有两个端口:http_port和transport
项目中使用ES查询报错:
报错主要信息:
org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available
我是刚刚接触elasticsearch,这个问题研究了小半天才解决,其实问题是这样的:
elasticsearch有两个端口:http_port和transport.tcp.port
这里先解释下这两个端口:
①http_port是ES节点与外部通讯使用的端口。它是http协议的RESTful接口(各种CRUD操作都是走的该端口),如下图:
左边是elasticsearch-head可视化插件操作ES,用的就是http_port;右边是通过页面查询ES集群信息,用的也是http_port
②transport.tcp.port是ES节点之间通讯使用的端口。它是tcp通讯端口,集群间和TCPclient都走的它。(java程序中使用ES时,在配置文件中要配置该端口)
总结
程序内部调用ES集群时要使用transport.tcp.port端口,没改默认值,就是9300,改了就根据实际情况使用你修改后的端口
程序以外操作ES集群时要使用http_port端口,没改默认值,就是9200,改了就根据实际情况使用你修改后的端口
我的程序报错就是因为在程序中应该使用transport.tcp.port端口,而我用了http_port端口,把ES配置信息的端口改为transport.tcp.port问题就解决了。
更多推荐
所有评论(0)