Elasticsearch rolling upgrade(8.x minor 或 8.19 → 9.x)
Elasticsearch难度: 高级耗时: 每个节点 15–30 分钟不是安装指南:通过逐个升级节点,将运行中的 Elasticsearch 集群零停机迁移到新版本(8.x 内的 minor 升级,或 8.19 → 9.x 主版本升级)。逐步完成:预检查(版本、健康、deprecation API、system feature migration)、升级前快照、将分片分配限制为 primaries 并执行 flush、逐节点升级版本和插件、重新启用分配并等待集群恢复健康、升级 Kibana,必要时从快照回退。完成后所有节点和 Kibana 都处于目标版本,集群为 green。如果要从低于 8.19 的 8.x 升级到 9.x,先用“同一主版本内”选项按本指南升级到 8.19;如果没有快照存储库,先参阅快照指南。
架构: 现有 3 个以上节点的集群(+ Kibana)
场景
- 同一主版本内(如 8.18 → 8.19、9.1 → 9.2) — 同一主版本内(8.18 → 8.19、9.1 → 9.2):软件仓库不变,仍需执行 deprecation 检查。支持跳过中间的 minor 版本。
- 主版本:8.19.x → 9.x — 源集群必须先升级到 8.19.x(最新补丁)。预检查包括 Upgrade Assistant / deprecation API 和 system feature migration 步骤。
开始之前
- 所有节点版本相同:…。…升级到 9.x 时源版本必须为 8.19.x(8.18 → 9.0 除外);否则先用“同一主版本内”选项按本指南升级到 8.19。…目标版本 … 必须比当前版本新;支持跳过中间的 minor 版本(8.17 → 8.19)。…
- 集群为 green;没有 relocating/initializing 分片;所有节点磁盘使用率低于 75%(升级期间分片会重建)。
- 应用客户端、Logstash、Beats/Elastic Agent 和 APM 与目标版本兼容。…9.x 需要 9.x 版本的客户端库(或带兼容性头的 8.x);请阅读发行说明中的 breaking change。…
- 快照存储库 … 已注册并验证,且有足够空间存放快照。已升级的节点无法降回旧版本;此快照是唯一的回退途径。
- 服务器可以访问 artifacts.elastic.co(或企业内部镜像),且仓库中有 …。
- 维护窗口已获批准;升级期间尽量降低写入负载(非必需)。…Kibana 中 Stack Management → Upgrade Assistant 页面上的所有严重警告均已处理。…
指南阶段
- 准备 — 为 API 访问创建临时凭据文件 · 备份配置 · 列出已安装的插件
- 预检查 — 检查版本和角色 · 检查集群健康 · 执行 deprecation 检查(Upgrade Assistant API) · 执行 system feature migration · 列出可安装的目标版本
- 将软件仓库切换到 9.x — 定义 Elastic 9.x 软件仓库 · 定义 Elastic 9.x 软件仓库 · 检查目标版本
- 回退点:快照 — 创建升级前快照 · 启用 ML upgrade mode
- 验证 — 确认所有节点都已升级到目标版本 · 检查分配设置是否已永久清除 · 关闭 ML upgrade mode · 检查日志中是否有错误
- 升级 Kibana — 停止 Kibana · 将 Kibana 升级到 … · 启动 Kibana 并检查其状态
- 安装后 — 创建升级后快照 · 删除临时凭据文件
- 回退(仅在升级失败时) — 停止所有节点上的服务 · 安装旧版本 · 移走数据目录并创建空目录 · 为新集群写入 initial_master_nodes 设置 · 启动服务 · 设置临时 elastic 密码 …