2014-11-24 108 views
0

ElasticSearch跑出一對夫婦節點的磁盤空間,這是所產生的誤差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

的超越對可能腐敗。我跟着從這裏的方向:

http://unpunctualprogrammer.com/2014/05/13/corrupt-elasticsearch-translogs/

要解決這個問題,你需要在ES日誌, /var/log/elasticsearch/elasticsearch.log爲CentOS看,並找到 錯誤行以上。在這些線上,你會看到類似

[<timestamp>][WARN ][cluste.action.shard] [<wierd name>] [logstash-2014.05.13][X] 

其中X(碎片)是一些數字,有可能(0,1,2,3,4),在此之前,該塊 ,logstash至今我,而你如果你做的集中式 就像我們一樣,是索引名稱。然後您需要轉到 索引位置,/ 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日誌 停止吐出堆棧跟蹤重複這一過程。