elasticsearch - Elasticsearch 索引ShardGatewayRecoveryException

标签 elasticsearch logstash kibana

我是 ELK 的新手,今天我发现了这些日志(这些日志大约有数千页),并且 Elasticsearch 使用了过多的 CPU。那么有没有人可以帮我解决这个问题?
LOGS: [2015-06-24 16:16:52,309][WARN ][cluster.action.shard ] [Bereet] [logstash-2015.06.24][0] received shard failed for [logstash-2015.06.24][0], node[ucXcuxuQQTSz_leAzWq6mQ], [P], s[INITIALIZING], indexUUID [ieIR8uWLQHycnEC_szsNZQ], reason [shard failure [failed recovery][IndexShardGatewayRecoveryException[[logstash-2015.06.24][0] failed to recover shard]; nested: TranslogCorruptedException[translog corruption while reading from stream]; nested: ElasticsearchIllegalArgumentException[No version type match [99]]; ]] [2015-06-24 16:16:52,332][WARN ][cluster.action.shard ] [Bereet] [logstash-2015.06.24][0] received shard failed for [logstash-2015.06.24][0], node[ucXcuxuQQTSz_leAzWq6mQ], [P], s[INITIALIZING], indexUUID [ieIR8uWLQHycnEC_szsNZQ], reason [master [Bereet][ucXcuxuQQTSz_leAzWq6mQ][iZ23cth9hh5Z][inet[/10.162.41.162:9300]] marked shard as initializing, but shard is marked as failed, resend shard failure] [2015-06-24 16:16:52,339][WARN ][index.engine ] [Bereet] [logstash-2015.06.24][4] failed to sync translog [2015-06-24 16:16:52,345][WARN ][indices.cluster ] [Bereet] [[logstash-2015.06.24][4]] marking and sending shard failed due to [failed recovery] org.elasticsearch.index.gateway.IndexShardGatewayRecoveryException: [logstash-2015.06.24][4] failed to recover shard at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:290) at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:112) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.elasticsearch.index.translog.TranslogCorruptedException: translog corruption while reading from stream at org.elasticsearch.index.translog.ChecksummedTranslogStream.read(ChecksummedTranslogStream.java:72) at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:260) ... 4 more Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException: No version type match [116] at org.elasticsearch.index.VersionType.fromValue(VersionType.java:307) at org.elasticsearch.index.translog.Translog$Create.readFrom(Translog.java:376) at org.elasticsearch.index.translog.ChecksummedTranslogStream.read(ChecksummedTranslogStream.java:68) ... 5 more

最佳答案

一个 translog 似乎已损坏: TranslogCorruptedException[从流读取时translog损坏]

我相信,如果您只是删除损坏的 translog(s)(在节点的/indices/${index_name} 子目录中),它应该可以解决这个特定问题。删除/修复损坏的 translog 后可能会发现更多问题。

这是一个可能有用的链接:http://unpunctualprogrammer.com/2014/05/13/corrupt-elasticsearch-translogs/

关于elasticsearch - Elasticsearch 索引ShardGatewayRecoveryException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31021897/

相关文章:

mysql - ElasticSearch如何与Mysql集成

docker-compose - 错误 : Permission denied -/usr/share/logstash/sincedb/sincedb

docker - Kibana Docker “This may take a few minutes”但从未启动

elasticsearch - 在 Elasticsearch 中按精确顺序搜索多个值

elasticsearch - cassandra vs Elasticsearch vs任何其他设计建议

linux - Linux 上的 Logstash 文件输入延迟

elasticsearch - Logstash 在解析日志时报告 [0] _grokparsefailure

kibana - 如何获取 Kibana 仪表板 ID?

elasticsearch - 嵌套聚合elasticsearch,具有用于子聚合的访问父字段

elasticsearch - 查询获取平均速度