ES 版本升级检查

最近更新时间:2019-07-19 16:29:45

Elasticsearch 不同版本之间有一些不兼容的配置,如果您有设置,升级后,集群使用可能受到影响。您可以通过升级检查的功能,检查是否有不兼容的配置,并进行调整。以下是 ES 对 Elasticsearch 版本升级时检查的配置说明。

说明:

升级检查操作入口,在 控制台 详情页,单击右上角【升级】,操作步骤详见 升级 ES 集群

Elasticsearch 5.6.4升级到6.4.3配置检查

检查的配置项列表

序号 配置维度 配置信息 兼容性 详细说明
1 集群级别 集群快照设置(Snapshot settings) CRITICAL 集群设置cluster.routing.allocation.snapshot.relocation_enabled 在6.0开始被废弃,详见 Breaking changes in 6.0
2 集群级别 集群存储限流设置(Store throttling settings) CRITICAL 集群设置indices.store.throttle.typeindices.store.throttle.max_bytes_per_sec在6.0开始被废弃,详见 Breaking changes in 6.0
3 索引级别 索引相似性设置(Similarity settings) WARNING 索引设置index.similarity.base 在6.0开始被废弃,详见 Breaking changes in 6.0
4 索引级别 索引影子副本设置(Shadow Replicas settings) CRITICAL 索引设置index.shared_filesystemindex.shadow_replicas在6.0开始被废弃,详见 Breaking changes in 6.0
5 索引级别 索引存储设置(Index Store settings) CRITICAL 索引设置index.store.type为default 在6.0开始被废弃,详见 Breaking changes in 6.0
6 索引级别 索引存储限流设置(Index Store throttling settings) CRITICAL 索引设置index.store.throttle.typeindex.store.throttle.max_bytes_per_sec在6.0开始被废弃,详见 Breaking changes in 6.0
7 索引级别 索引 Mapping 参数 include_in_all WARNING 索引 mapping 参数include_in_all在6.0之后创建的索引中无法使用(5.x 创建包含此设置的索引在升级6.x后可以兼容),详见 Breaking changes in 6.0

说明:

  • 警告(WARNING):检查失败时仍可以升级。此类型检查项对应设置在升级后将被忽略。
  • 错误(CRITICAL):检查失败时无法升级。此类型检查项对应设置在目标版本无法兼容。

配置不兼容调整方法

  • 集群快照设置(Snapshot settings)
    通过 ES 集群设置更新接口PUT _cluster/settings取消此设置(包括 persistent 和 transient):

    PUT _cluster/settings
    {
      "persistent": {
        "cluster.routing.allocation.snapshot.relocation_enabled": null
      },
      "transient": {
        "cluster.routing.allocation.snapshot.relocation_enabled": null
      }
    }
  • 集群存储限流设置(Store throttling settings)
    通过 ES 集群设置更新接口PUT _cluster/settings取消此设置(包括 persistent 和 transient):

    PUT _cluster/settings
    {
      "persistent": {
        "indices.store.throttle.type": null,
        "indices.store.throttle.max_bytes_per_sec": null
      },
      "transient": {
        "indices.store.throttle.type": null,
        "indices.store.throttle.max_bytes_per_sec": null
      }
    }
  • 索引相似性设置(Similarity settings)
    此设置在升级6.x后被忽略,但不会影响升级。如需取消设置可以按照如下步骤:

    1. 此设置需要关闭索引后修改,关闭后的索引无法被读写。关闭索引:
      POST my_index/_close
    2. 使用 ES 索引设置更新接口取消此设置:
      PUT my_index/_settings
      {
        "index.similarity.base.*": null
      }
    3. 最后打开索引:
      POST my_index/_open
  • 索引影子副本设置(Shadow Replicas settings)

    1. 此设置需要关闭索引后修改,关闭后的索引无法被读写。关闭索引:
      POST my_index/_close
    2. 使用 ES 索引设置更新接口取消此设置:
      PUT my_index/_settings
      {
        "index.shared_filesystem": null,
        "index.shadow_replicas": null
      }
    3. 最后打开索引:
      POST my_index/_open
  • 索引存储设置(Index Store settings)

    1. 此设置需要关闭索引后修改,关闭后的索引无法被读写。关闭索引:
      POST my_index/_close
    2. 使用 ES 索引设置更新接口取消此设置:
      PUT my_index/_settings
      {
        "index.store.type": null
      }
    3. 最后打开索引:
      POST my_index/_open
  • 索引存储限流设置(Index Store throttling settings)
    使用 ES 索引设置更新接口取消此设置:

    PUT my_index/_settings
    {
      "settings": {
        "index.store.throttle.type": null,
        "index.store.throttle.max_bytes_per_sec": null
      }
    }
  • 索引 Mapping 参数 include_in_all
    对已创建的包含此参数的索引,升级后可以兼容,无需修复。