Elasticsearch降级至7.6.2启动失败报exit-code错误如何解决
问题根因
卸载高版本Elasticsearch时未清理默认数据目录/var/lib/elasticsearch/,7.15.1版本生成的Lucene索引片段版本为10,而7.6.2版本内置的Lucene仅支持7~9版本的索引格式,格式不兼容直接导致服务启动失败。
解决方案
根据是否需要保留旧版本索引数据选择对应操作:
无需保留旧索引数据
直接删除遗留的高版本数据即可,执行以下命令:
- 停止当前未启动成功的ES残留进程:
sudo systemctl stop elasticsearch - 清空旧数据目录:
sudo rm -rf /var/lib/elasticsearch/* - 重新启动ES服务:
sudo systemctl start elasticsearch - 验证服务状态,正常启动后即可使用:
sudo systemctl status elasticsearch
需要保留旧索引数据
必须先完成跨版本数据迁移,操作步骤如下:
- 临时回装Elasticsearch 7.15.1,启动服务确认所有旧索引正常加载
- 通过快照API或者
elasticsearch-dump工具导出所有需要保留的索引数据 - 再次卸载7.15.1,清空数据目录后安装7.6.2版本
- 启动7.6.2版本ES,将导出的索引数据重新导入即可正常使用
注意:Elasticsearch官方不支持直接从高版本降级到低版本,所有降级操作必须提前做好数据备份,生产环境操作前请先在测试环境验证可行性。
内容的提问来源于stack exchange,提问作者adityabhuvanraj
相关产品推荐
相关产品推荐

