ES异常处理-NoNodeAvailableException


1.问题描述

ES client客户端能创建,但是在用客户端操作时报:NoNodeAvailableException[None of the configured nodes are available:[{#transport#-1}{XXXXX}{ip:port}]]。

该问题是客户端无法连接至es服务器,从以下角度排查。

2.解决方案

2.1. 查看配置的ip和端口号是否正确,端口号需要配置tcp端口

2.2 查看cluster name是否正确

2.3 使用的es client版本需要与ES Server版本一致

2.4 如果是运行一段时间后出现的问题,则可能是某个链接的节点出问题了,这时es会自动切换到其他节点访问

2.5 测试环境和生产环境不同,不要拿测试机器访问生产环境

2.6 如果集群开启了访问鉴权,将用户名,密码传入

2.7 client.transport.sniff设置成false,ip:port通过addTransportAddress传入

2.8 netty包冲突,直接引入es client用的netty包版本:

<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.16.Final</version>
</dependency>
我的es client是6.3.2用的netty是4.1.6,将其余冲突包中的netty排除:
<exclusion>
<artifactId>netty-all</artifactId>
<groupId>io.netty</groupId>
</exclusion>
按照上述排查,应该能解决问题。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM