公司动态
单机Elasticsearch 7.17.29使用data替换成功升级到8.19.18的过程
系统版本Ubuntu Linux 24.06当前ES版本7.17.29目前ES版本8.19.18升级方式data替换升级安装包使用tar包替换原来的数据目录进行自动升级(区别于reindex方式)第一阶段清理非业务的索引在旧版本ES上清理非业务的索引通过 HTTP 请求如curl清理阻塞升级或占用空间的系统索引。# 删除 Kibana 事件日志索引解决启动阻塞 curl -X DELETE http://127.0.0.1:9200/.kibana-event-log-7.13.3-000012 # 删除历史监控索引释放磁盘空间 curl -X DELETE http://localhost:9200/.monitoring-es-7-2026.07.23(注如果有多个日期的监控索引需要清理可以使用通配符批量删除例如curl -X DELETE http://localhost:9200/.monitoring-*)第三阶段安全关闭旧版注意我这里是单机 Elasticsearch 所以关闭前不需要禁用分片分配重新升级启动后也不需要重新启用分片分配。# 执行同步刷新Synced Flush # 确保内存中的事务日志translog被安全地刷入磁盘从而让节点在下次启动时能够更快地恢复避免漫长的数据校验过程。 curl -X POST http://localhost:9200/_flush/synced # 停止ES服务 systemctl stop elasticsearch第四阶段升级到8.19.181.将 Elasticsearch的版本配置/安装包切换至 8.19.182.将旧版下data文件目录复制到新的 Elasticsearch目录下3.启动 Elasticsearch 8.19.18 服务4.检查日志情况确定升级过程是否正常。第五阶段升级后验证1.检查集群健康状态。curl -X GET http://localhost:9200/_cluster/health?pretty确保状态最终恢复为green。2.检查核心业务索引的查询和写入是否正常。按照以上步骤执行即可安全、干净地完成跨大版本升级。