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,然后重新启动集群。

以下是需要执行的高级步骤才能完全重启集群 −

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

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