2014-01-16 17 views
12

私は弾性検索に取り組んでおり、完全に機能していました。今日私はリモートサーバ(Ubuntu)を再起動しました。今私は私の索引で検索しています、それは私にこのエラーを与えています。すべてのシャードは失敗しました

{"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed]","status":503} 

私は健康状態も確認しました。ステータスは赤です。誰が問題が何であるか教えてもらえますか?

答えて

7

再起動時に一部のシャードが回復しなかった可能性があり、クラスタが赤いままになる可能性があります。
ヒット:
http://<yourhost>:9200/_cluster/health/?level=shards赤いシャードを探すことができます。

シャードが回復不能な状態で終了する再起動時に問題が発生しました。私の解決策は、単にそのインデックスを完全に削除することでした。それは誰にとっても理想的なソリューションではありません。

次のようにプラグインを使用して、このような問題を視覚化するためにもいいです:あなたが実行しているシステムでは、この見かけ上のインデックスの破損が発生した場合、あなたはsegments.genと呼ばれるすべてのファイルを削除することによって、それを回避することができます
Elasticsearch Head

+0

@mconlinこんにちは、どのようにあなたは、この場合には削除するためにどのインデックス理解できますか? –

+0

ヘッドを使用すると、最後の行で未回収のシャードがグレー表示されます。 – mconlin

1

。それは助言のみであり、Luceneはそれなしで正しく回復することができます。 ElasticSearch Blog

0

私にとって、この作品から

elasticsearch/config/elasticsearch.ymlこの行を追加する必要があります。 script.inline: on script.indexed: on

関連する問題