升级到 Elastic 8.17.0

编辑

在升级到 8.17.0 之前,务必采取一些准备步骤。这些步骤因您当前的 Elastic 版本而异

不支持从候选版本构建(例如 8.0.0-rc1 或 8.0.0-rc2)升级。预发布版本仅应用于临时环境中的测试。

准备从较早的 8.x 版本升级

编辑
  1. 查看您使用的每个产品的重大更改,并进行必要的更改,以使您的代码与 8.17.0 兼容

    • 请确保您查看了直到 8.17.0 的每个次要版本的重大更改。
    • 如果您正在使用包含已弃用搜索或查询特定领域语言 (DSL) 的机器学习数据源,则升级将会失败。在 5.6.5 及更高版本中,“升级助手”提供了有关哪些数据源需要更新的信息。
  2. 如果您使用任何 Elasticsearch 插件,请确保每个插件都有一个与 Elasticsearch 版本 8.17.0 兼容的版本。
  3. 在升级生产集群之前,请在隔离环境中测试升级。
  4. 在开始升级之前,请确保您拥有最新的快照。

    升级后,您无法降级 Elasticsearch 节点。如果您无法完成升级过程,则需要从快照还原。

  5. 如果您使用单独的 监控集群,则应在升级生产集群之前升级监控集群。通常,监控集群和被监控的集群应运行相同版本的堆栈。监控集群无法监控运行较新版本堆栈的生产集群。如有必要,监控集群可以监控运行上一主要版本最新版本的生产集群。

准备从 7.x 版本升级

编辑

要从 7.16 或更早版本升级到 8.17.0,您必须首先升级到 7.17。这使您可以使用升级助手来识别和解决问题,重新索引 7.0 之前创建的索引,然后执行滚动升级。

即使您选择对 Elasticsearch 集群进行完全集群重启,也必须在升级到 8.17.0 之前升级到 7.17。或者,您可以创建一个新的 8.17.0 部署并从远程重新索引。有关更多信息,请参阅重新索引以进行升级

Beats 和 Logstash 7.17 与 Elasticsearch 8.17.0 兼容,这使您在安排升级时具有灵活性。

远程集群兼容性

如果您使用跨集群搜索,请注意 8.17.0 只能搜索运行上一小版本或更高版本的远程集群。有关更多信息,请参阅跨集群搜索

如果您使用跨集群复制,则包含跟随者索引的集群必须运行与远程集群相同或更新的版本。有关更多信息,请参阅跨集群复制的版本兼容性矩阵。

您可以从Stack Management > 远程集群中查看远程集群。

  1. 使用 升级助手 准备从 7.17 升级到 8.17.0。 升级助手会识别已弃用的设置,并指导您解决问题并重新索引 7.0 之前创建的索引。在进行配置更改或重新索引之前,请确保您拥有最新的快照。

    您必须在继续升级之前解决所有严重问题。

  2. 查看升级助手中的弃用日志,以确定您的应用程序是否使用了 8.x 中不支持或行为不同的功能。请参阅重大更改,了解有关 8.17.0 中可能影响您的应用程序的更改的更多信息。

    请确保您查看了直到 8.17.0 的每个次要 8.x 版本的重大更改。

  3. 进行建议的更改,以确保您的应用程序在升级后继续按预期运行。

    作为临时解决方案,您可以使用 REST API 兼容模式,以 7.x 语法向 8.x 提交请求。虽然这使您可以提交使用旧语法的请求,但它不能保证相同的行为。REST API 兼容性应该是一个平滑升级过程的桥梁,而不是一个长期策略。有关更多信息,请参阅REST API 兼容性

  4. 如果您使用任何 Elasticsearch 插件,请确保每个插件都有一个与 Elasticsearch 版本 8.17.0 兼容的版本。
  5. 在升级生产集群之前,请在隔离环境中测试升级。
  6. 在开始升级之前,请确保您拥有最新的快照。

    升级后,您无法降级 Elasticsearch 节点。如果您无法完成升级过程,则需要从快照还原。

  7. 如果您使用单独的 监控集群,则应在升级生产集群之前升级监控集群。通常,监控集群和被监控的集群应运行相同版本的堆栈。监控集群无法监控运行较新版本堆栈的生产集群。如有必要,监控集群可以监控运行上一主要版本最新版本的生产集群。