2015-05-06 20 views
10

Recentemente il nostro server è stato riavviato senza chiudere correttamente la ricerca elastica/Kibana. Dopo il riavvio, entrambe le applicazioni erano in esecuzione ma nessun indice veniva creato. Ho controllato la configurazione del logstash in modalità debug e sto inviando dati a Elastic Search.SearchPhaseExecutionException [Impossibile eseguire la fase [query], tutti i frammenti non sono riusciti]

ora tutte le mie finestre create segnalare questo errore:

Oops! SearchPhaseExecutionException[Failed to execute phase [query], all shards failed] 

ho provato a riavviare elastico Ricerca/Kibana, ed eliminato alcuni indici. Ho cercato molto ma non sono riuscito a risolverlo correttamente.

Lo stato corrente del Cluster corrente è ROSSO come mostrato in figura.

Elastic Search Cluster Health

Qualsiasi aiuto come di come risolvere i problemi che si upvoted. Grazie

EDIT:

[2015-05-06 00:00:01,561][WARN ][cluster.action.shard  ] [Indech] [logstash-2015.03.16][1] sending failed shard for [logstash-2015.03.16][1], node[fdSgUPDbQB2B3NQqX7MdMQ], [P], s[INITIALIZING], indexUUID [aBcfbqnNR4-AGEdIR8dVdg], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[logstash-2015.03.16][1] failed to recover shard]; nested: ElasticsearchIllegalArgumentException[No version type match [101]]; ]] 
[2015-05-06 00:00:01,561][WARN ][cluster.action.shard  ] [Indech] [logstash-2015.03.16][1] received shard failed for [logstash-2015.03.16][1], node[fdSgUPDbQB2B3NQqX7MdMQ], [P], s[INITIALIZING], indexUUID [aBcfbqnNR4-AGEdIR8dVdg], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[logstash-2015.03.16][1] failed to recover shard]; nested: ElasticsearchIllegalArgumentException[No version type match [101]]; ]] 
[2015-05-06 00:00:02,591][WARN ][indices.cluster   ] [Indech] [logstash-2015.04.21][4] failed to start shard 
org.elasticsearch.index.gateway.IndexShardGatewayRecoveryException: [logstash-2015.04.21][4] failed to recover shard 
    at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:269) 
    at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:132) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException: No version type match [52] 
    at org.elasticsearch.index.VersionType.fromValue(VersionType.java:307) 
    at org.elasticsearch.index.translog.Translog$Create.readFrom(Translog.java:364) 
    at org.elasticsearch.index.translog.TranslogStreams.readTranslogOperation(TranslogStreams.java:52) 
    at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:241) 

quello che mi riguarda in questo logsis:

[2015-05-06 15:13:48,059][DEBUG][action.search.type  ] All shards failed for phase: [query] 



{ 
    "cluster_name" : "elasticsearch", 
    "status" : "red", 
    "timed_out" : false, 
    "number_of_nodes" : 8, 
    "number_of_data_nodes" : 1, 
    "active_primary_shards" : 120, 
    "active_shards" : 120, 
    "relocating_shards" : 0, 
    "initializing_shards" : 0, 
    "unassigned_shards" : 310 
} 

risposta

11

si dispone di molti file corrotti Translog, che è necessario eliminare. Puoi trovarlo in data/{clustername}/nodes/0/indices/logstash-2015.04.21/4/translog e un altro in data/{clustername}/nodes/0/indices/logstash-2015.03.16/1/translog. E forse altri, ma questo è quello che posso dire dal frammento che hai fornito. Ovviamente, perderà cosa c'è nei file di translog.

Se gli indici non hanno più i file di indice (solo la cartella _state esiste sotto data/{clustername}/nodes/0/indices/[index_name]) significa che non ci sono più dati in quell'indice e a questo punto è possibile eliminare l'indice. Hai bisogno di reindicizzare quei dati, se ne hai ancora bisogno. Se decidi di eliminare gli indici, devi chiudere il nodo ed eliminare le cartelle di indice sotto data/{clustername}/nodes/0/indices simili a quello che hai menzionato (vuoto, contenente solo la cartella _state).

+0

Come andare alla cartella data/{clustername} su Mac se vi capita di saperlo? – HoKy22

+0

Nel mio caso, il mio disco era occupato al 100%. ho aumentato il volume e riavviato l'istanza. Ha funzionato! – shivg