Elasticsearch 简明教程

Elasticsearch - Migration between Versions

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

你需要按照以下步骤来升级 Elasticsearch −

  1. 阅读 https://www.elastic.co/ 中的升级文档

  2. 在非生产环境(如 UAT、E2E、SIT 或 DEV 环境)中测试升级后的版本。

  3. 请注意,如果没有数据备份,就不可能回滚到之前的 Elasticsearch 版本。因此,在升级到较高版本之前建议进行数据备份。

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

Steps for Upgrade

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

  2. 备份数据。除非你对数据进行了快照,否则无法回滚至早期版本。

  3. 在开始升级进程之前,请考虑关闭机器学习作业。尽管机器学习作业可以在滚动升级期间继续运行,但这会增加升级进程期间集群的开销。

  4. 按以下顺序升级 Elastic Stack 的组件:Elasticsearch、Kibana、Logstash、Beats、APM 服务器

Upgrading from 6.6 or Earlier

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

Full Cluster Restart

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

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

  1. Disable shard allocation

.

  1. 停止编制索引并执行同步刷新

.

  1. Shutdown all nodes

.

  1. Upgrade all nodes

.

  1. Upgrade any plugins

.

  1. Start each upgraded node

.

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

.

  1. Re-enable allocation

.

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