ElasticSearch在几个节点上的磁盘空间不足,这就是产生的错误
我们得到的错误是:
[WARN][indices.store ] [odr-es-md15] Can't open file to read checksums
java.io.FileNotFoundException: No such file [_2rlb_es090_0.pos]
at org.elasticsearch.index.store.DistributorDirectory.getDirectory(DistributorDirectory.java:176)
at org.elasticsearch.index.store.DistributorDirectory.getDirectory(DistributorDirectory.java:144)
at org.elasticsearch.index.store.Store$MetadataSnapshot.buildMetadata(Store.java:482)
at org.elasticsearch.index.store.Store$MetadataSnapshot.<init>(Store.java:456)
at org.elasticsearch.index.store.Store.readMetadataSnapshot(Store.java:281)
...
...
...
答案 0 :(得分:0)
translog可能已损坏。我按照这里的指示:
http://unpunctualprogrammer.com/2014/05/13/corrupt-elasticsearch-translogs/
要解决此问题,您需要查看ES日志, CentOS的/var/log/elasticsearch/elasticsearch.log,找到了 上面的错误行。在这些行上你会看到类似
的内容[<timestamp>][WARN ][cluste.action.shard] [<wierd name>] [logstash-2014.05.13][X]
其中X(分片)是某个数字,可能是(0,1,2,3,4)和块 在那之前,logstash-date对我来说,如果你集中管理你 像我们一样记录,是索引名称。然后你需要去 索引位置,/ var / lib / elasticsearch / elasticsearch / nodes / 0 / indices / 在centos上。在该目录中,您将能够找到以下内容 结构,logstash-date / X / translog / translog-。 那是你需要删除的文件,所以:
sudo service stop elasticsearch sudo rm /var/lib/elasticsearch/elasticsearch/nodes/0/indices/logstash-date/X/translog/translog-blalblabla repeat step 2 for all indices and shards in the error log sudo service start elasticsearch
观察日志并根据需要重复该过程,直到ES日志 停止吐出堆栈痕迹。