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

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

  • 禁用碎片分配

  • 停止索引并执行同步刷新

  • 关闭所有节点

  • 升级所有节点

  • 升级任何插件

  • 启动每个升级的节点

  • 等待所有节点加入集群并报告黄色状态

  • 重新启用分配

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