在ElasticSearch
恢复过程中,主要分片丢失并且副本分片被提升但在此之后,当群集尝试恢复此分片时
我们重复了以下例外:
RecoverFilesRecoveryException[[my-index][0] Failed to transfer [279] files with total size of [12.6gb]]; nested: RemoteTransportException[File corruption occured on recovery but checksums are ok]; ]]
除此之外,此分片响应的恢复是:
{
"id" : 0,
"type" : "REPLICA",
"stage" : "INDEX",
"primary" : false,
...
"index" : {
"files" : {
"total" : 279,
"reused" : 0,
"recovered" : 262,
"percent" : "93.9%"
},
"bytes" : {
"total" : 13630355592,
"reused" : 0,
"recovered" : 7036450677,
"percent" : "51.6%"
},
2分钟后
"index" : {
"files" : {
"total" : 279,
"reused" : 0,
"recovered" : 276,
"percent" : "98.9%"
},
"bytes" : {
"total" : 13630355592,
"reused" : 0,
"recovered" : 10500690274,
"percent" : "77.0%"
}
以上数字上下/相当长一段时间,但它从未真正恢复过,集群状态仍为黄色!
有没有办法让群集再次变绿?也许以某种方式删除这个副本?
一个肮脏的解决方案是删除上述分片的索引并重新重新索引。
ES版:1.3.1