我正在使用ElasticSearch 0.90.5。单节点集群,并使用Java API进行到该节点的所有通信(同时用于索引和搜索)。
每隔10分钟,我就会有连续的文档流被送入服务器。使用批量索引API获得最佳性能。随后的查询将检索单个文档或运行“类似此查询”。
有时(有时过于频繁),我们会收到以下异常:
原因:org.elasticsearch.client.transport.NoNodeAvailableException:没有可用的节点
我可以向您保证服务器已启动并正常运行。这是我们偶尔看到的问题。 NewRelic Server监视器对包装盒本身的压力很小。在短时间内,CPU使用率最高为 50%。 ES日志没有显示任何有用的信息。在受影响的时间段内,日志中没有GC消息。
使用API时,是否还有其他人遇到此异常。任何见解将不胜感激。
相关堆栈跟踪:
Caused by: org.elasticsearch.client.transport.NoNodeAvailableException: No node available
at org.elasticsearch.client.transport.TransportClientNodesService$RetryListener.onFailure(TransportClientNodesService.java:249)
at org.elasticsearch.action.TransportActionNodeProxy$1.handleException(TransportActionNodeProxy.java:84)
at org.elasticsearch.transport.TransportService$Adapter$2$1.run(TransportService.java:311)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
最佳答案
您能否发布完整的堆栈跟踪信息?
同样,通过查看Elasticsearch留言板(http://elasticsearch-users.115913.n3.nabble.com/)是否有类似的异常,您可能想尝试增加client.transport.ping_timeout
,看看是否有帮助
关于elasticsearch - ElasticSearch 0.90.5使用Java API偶尔引发NoNodeAvailableException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19815861/