Elasticsearch 版本间迁移

在任何系统或软件中,当我们升级到更新的版本时,我们需要按照几个步骤来维护应用程序设置、配置、数据和其他东西。 这些步骤是使应用程序在新系统中稳定或保持数据完整性(防止数据损坏)所必需的。

我们需要按照以下步骤升级 Elasticsearch

  • https://www.elastic.co/ 阅读升级文档
  • 在 UAT、E2E、SIT 或 DEV 环境等非生产环境中测试升级版本。
  • 请注意,如果没有数据备份,则无法回滚到以前的 Elasticsearch 版本。 因此,建议在升级到更高版本之前进行数据备份。
  • 我们可以使用完整的集群重启或滚动升级来升级。 滚动升级适用于新版本。 请注意,当我们使用滚动升级方法进行迁移时,不会出现服务中断。

升级步骤

在升级生产集群之前,在开发环境中测试升级。

备份我们的数据。 除非我们有数据快照,否则无法回滚到早期版本。

在开始升级过程之前考虑关闭机器学习作业。 虽然机器学习作业可以在滚动升级期间继续运行,但它会增加升级过程中集群的开销。

按以下顺序升级 Elastic Stack 的组件

  • Elasticsearch
  • Kibana
  • Logstash
  • Beats
  • APM Server

从 6.6 或更早版本升级

要从版本 6.0-6.6 直接升级到 Elasticsearch 7.1.0,我们必须手动重新索引我们需要继承的任何 5.x 索引,并执行完整的集群重启。

完整集群重启

全集群重启的过程包括关闭集群中的每个节点,将每个节点升级到 7x,然后重新启动集群。

以下是完整集群重启需要执行的高级步骤

  • 禁用分片分配
  • 停止索引并执行同步刷新
  • 关闭所有节点
  • 升级所有节点
  • 升级任何插件
  • 启动每个升级后的节点
  • 等待所有节点加入集群,报告状态为黄色
  • 重新启用分配

重新启用分配后,集群开始将副本分片分配给数据节点。 此时,恢复索引和搜索是安全的,但是如果您可以等到所有主分片和副本分片都已成功分配并且所有节点的状态都为绿色,我们的集群将恢复得更快。

查看笔记

扫码一下
查看教程更方便