2014-01-16 46 views
12

我正在進行彈性搜索,並且工作正常。今天我剛剛重啓了我的遠程服務器(Ubuntu)。現在我在索引中搜索,它給了我這個錯誤。所有碎片失敗

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

我也檢查了健康。狀態是紅色的。任何人都可以告訴我什麼是問題。

回答

7

可能在您重新啓動時,某些碎片未被恢復,從而導致羣集保持紅色。
如果您點擊:
http://<yourhost>:9200/_cluster/health/?level=shards您可以查找紅色碎片。

我在重啓時遇到了碎片最終處於不可恢復狀態的問題。我的解決方案是完全刪除該索引。這不是每個人的理想解決方案。

這也是不錯的可視化這樣的問題,與像一個插件:
Elasticsearch Head

+0

嗨@mconlin,你如何確定在這種情況下要刪除的索引? –

+0

使用頭部,你會看到在最後一行灰色未收回的碎片。 – mconlin

1

如果遇到在運行系統中這種明顯的索引損壞,你可以解決它通過刪除名爲segments.gen所有文件。這只是建議,而Lucene可以在沒有它的情況下正確恢復。

ElasticSearch Blog

0

這個工作對我來說。

elasticsearch/config/elasticsearch.yml需要添加此行。 script.inline: on script.indexed: on

相關問題