0

ElasticSearch 0.90.5 を使用しています。単一ノード クラスタで、ノードへのすべての通信に Java API を使用する (インデックス作成と検索の両方)。

10 分ごとにサーバーにフィードされるドキュメントの継続的なストリームがあります。最適なパフォーマンスを得るために一括インデックス API を使用します。後続のクエリは、単一のドキュメントを取得するか、More-Like-This クエリを実行します。

ときどき (時にはあまりにも頻繁に) 次の例外が発生します。

原因: 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)
4

1 に答える 1

1

万が一完全なスタック トレースを投稿していただけないでしょうか。

また、elasticsearch メッセージ ボード ( http://elasticsearch-users.115913.n3.nabble.com/ ) で同様の例外を調べて、値を増やしてみてclient.transport.ping_timeout、それが役立つかどうかを確認してください。

于 2013-11-06T16:18:15.433 に答える