0

我正在使用 ElasticSearch 0.90.5。单节点集群并使用 Java API 进行与节点的所有通信(用于索引和搜索)。

我每 10 分钟就有一个连续的文档流输入服务器。使用批量索引 API 以获得最佳性能。后续查询要么检索单个文档,要么运行 More-Like-This 查询。

时不时地(有时有点过于频繁)我们会得到以下异常:

引起:org.elasticsearch.client.transport.NoNodeAvailableException:没有可用的节点

我可以向您保证,服务器已启动并运行良好。这是我们偶尔看到的问题。NewRelic 服务器监视器对盒子本身的压力很小。在很短的时间内,最高的 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)
4

1 回答 1

1

您可以发布完整的堆栈跟踪吗?

此外,通过查看 elasticsearch 留言板 ( http://elasticsearch-users.115913.n3.nabble.com/ ) 中的类似异常,您可能想尝试增加client.transport.ping_timeout并查看是否有帮助

于 2013-11-06T16:18:15.433 回答