Elasticsearch - 版本之间的迁移


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

您需要按照以下步骤升级 Elasticsearch -

  • 从https://www.elastic.co/阅读升级文档

  • 在非生产环境(例如 UAT、E2E、SIT 或 DEV 环境)中测试升级版本。

  • 请注意,如果没有数据备份,则无法回滚到以前的 Elasticsearch 版本。因此,建议在升级到更高版本之前备份数据。

  • 我们可以使用完全集群重启或滚动升级来升级。滚动升级适用于新版本。请注意,当您使用滚动升级方法进行迁移时,不会出现服务中断。

升级步骤

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

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

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

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

    • 弹性搜索
    • 木花
    • 日志存储
    • 节拍
    • APM服务器

从 6.6 或更早版本升级

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

全集群重启

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

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

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

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