elasticsearch6.3.2紧急修复删除node.lock文件导致translog文件损坏的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch6.3.2紧急修复删除node.lock文件导致translog文件损坏的问题相关的知识,希望对你有一定的参考价值。
参考技术A 测试索引,自己误操作删除了node.lock文件(因为以前用solr的印象里面这个文件是可以随便删的…幸好是测试索引),造成了索引健康状态变红,重启无法recover这样一个现象。错误日志栈主要是这个在跳,那么分析这个错误日志栈。translog文件记载出错,实际索引的offset和translog的offset不一样了,导致索引健康检查错误。首先最差最差的手段无非是重建索引,但还是希望有别的补救措施,积累一个排错经验。
translog文件是用来记载索引写入offset等信息,我的误操作是删除node.lock后并重启。原因我推断是在失去锁的控制后,索引并没有在实际写入数据,但是translog文件却一直没有受到限制继续被一直写入。lucene系的产品都是数据先临时登录到translog在merge到索引这样一个过程。那么我们可以付出这样一个代价:放弃已经写到translog的数据,优先保护索引。也就是删除出错的translog,但这个过程不能直接用rm,需要使用lucene提供的translog工具。
以上是关于elasticsearch6.3.2紧急修复删除node.lock文件导致translog文件损坏的问题的主要内容,如果未能解决你的问题,请参考以下文章