elasticsearch - SearchPhaseExecutionException
logstash windows-server-2012 (1)
Recientemente nuestro servidor se reinició sin apagar correctamente Elastic Search / Kibana. Después de ese reinicio, ambas aplicaciones se estaban ejecutando pero ya no se creaban índices. Comprobé la configuración de logstash en modo de depuración y está enviando datos a Elastic Search.
ahora todas mis ventanas creadas informan este error:
Oops! SearchPhaseExecutionException[Failed to execute phase [query], all shards failed]
Intenté reiniciar Elastic Search / Kibana, y borré algunos índices. Busqué mucho pero no pude solucionarlo correctamente.
El estado de salud del clúster actual es ROJO como se muestra en la imagen.
Cualquier ayuda en cuanto a la solución de problemas está votada. Gracias
EDITAR:
[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)
lo que me preocupa en el logsis esto:
[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
}
Tiene muchos archivos translog corruptos, que debe eliminar. Puede encontrarlo en data/{clustername}/nodes/0/indices/logstash-2015.04.21/4/translog
y otro en data/{clustername}/nodes/0/indices/logstash-2015.03.16/1/translog
Y tal vez otros, pero esto es lo que puedo decir del fragmento que proporcionó. Por supuesto, perderá lo que está en los archivos translog.
Si los índices ya no tienen los archivos de índice (solo _state
folder existe en data/{clustername}/nodes/0/indices/[index_name]
) esto significa que ya no hay datos en ese índice y en este momento puede eliminarlos El índice. Necesita reindexar esos datos, si aún los necesita. Si decide eliminar los índices, debe cerrar el nodo y eliminar las carpetas de índice bajo data/{clustername}/nodes/0/indices
que son como el que mencionó (vacío, que contiene solo la carpeta _state
).