web-dev-qa-db-fra.com

Tous les fragments ont échoué

Je travaillais sur la recherche élastique et cela fonctionnait parfaitement. Aujourd'hui, je viens de redémarrer mon serveur distant (Ubuntu). Maintenant, je cherche dans mes index, cela me donne cette erreur.

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

J'ai aussi vérifié la santé. Le statut est rouge. Quelqu'un peut-il me dire quel est le problème. 

19
user3176531

Il est possible que, lors de votre redémarrage, des fragments ne soient pas récupérés, ce qui fait que le cluster reste rouge.
Si vous frappez:
http://<yourhost>:9200/_cluster/health/?level=shards vous pouvez rechercher des fragments rouges. 

J'ai eu des problèmes au redémarrage où des fragments se retrouvent dans un état non récupérable. Ma solution était simplement de supprimer complètement cet index. Ce n'est pas une solution idéale pour tout le monde. 

Il est également agréable de visualiser de tels problèmes avec un plugin tel que:
Elasticsearch Head

18
mconlin

Si vous rencontrez cette corruption apparente d'index dans un système en cours d'exécution, vous pouvez le contourner en supprimant tous les fichiers nommés segments.gen. C'est à titre consultatif seulement, et Lucene peut récupérer correctement sans cela.

De ElasticSearch Blog

1
chemark

cela fonctionne pour moi.

elasticsearch/config/elasticsearch.yml besoin d'ajouter cette ligne .script.inline: onscript.indexed: on

0
LingYFH