2015-05-06 22 views
10

最近我们的服务器重新启动时没有正确关闭Elastic Search/Kibana。重启后,两个应用程序都在运行,但没有索引被创建了。我在调试模式下检查了logstash设置,并且它正在向Elastic Search发送数据。SearchPhaseExecutionException [无法执行阶段[查询],所有碎片失败]

现在我的所有创建的窗口报告此错误:

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

我试图重新启动弹性搜索/ Kibana,并清除了一些指标。我搜查了很多,但无法正确解决这个问题。

当前群集健康状态为红色,如图所示。

Elastic Search Cluster Health

任何帮助,为如何解决被upvoted。谢谢

编辑:

[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) 

所关注我的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 
} 

回答

11

你有很多腐败的超越对文件,你需要删除。你可以在data/{clustername}/nodes/0/indices/logstash-2015.04.21/4/translogdata/{clustername}/nodes/0/indices/logstash-2015.03.16/1/translog中找到它。也可能是其他人,但这是我可以从你提供的代码片段中看出来的。当然,会失去translog文件中的内容。

如果索引没有索引文件了(只有_state文件夹存在于data/{clustername}/nodes/0/indices/[index_name]下)这意味着该索引中没有数据了,此时可以删除该索引。如果你仍然需要,你需要重新索引这些数据。如果您决定删除索引,则需要关闭该节点并删除data/{clustername}/nodes/0/indices下的索引文件夹,这些文件夹与您提到的文件夹相同(为空,仅包含_state文件夹)。

+0

如果您碰巧知道如何访问Mac上的数据/ {clustername}文件夹? – HoKy22

+0

就我而言,我的光盘被100%占用。我增加了音量并重新启动了实例。有效! – shivg

相关问题