Elasticsearch:如何删除先前版本创建的不受支持的静态索引设置?

时间:2019-07-07 15:24:49

标签: elasticsearch

如果正在运行的ES版本不再支持/已知该设置,如何从索引中删除静态设置。

使用ES 5.2.2或5.3.0创建的索引已通过热暖策略进行缩减,以减少分片数量。 这种收缩在新创建的索引中创建了两个静态索引设置shrink.source.nameshrink.source.uuid

新索引可以正常工作。

同时,我升级到ES 6.8.1,并且正在为ES 7.0准备Elasticsearch集群,因为ES 7.0不再支持使用旧版本创建的索引。

Kibana为所需的重新索引编制提供了一个不错的UI,但是由于这两个不受支持的设置而失败。

由于我仍然不需要这些设置(它们对我来说只是参考信息),因此我想从索引中删除它们。

从索引中删除静态设置需要执行以下步骤:

  1. 关闭索引

  2. 将设置设置为空

  3. 重新打开索引

不幸的是,这不适用于当前版本的ES不再支持的设置。

curl -X PUT "elk29:9200/logstash-20160915/_settings?pretty" -H 'Content-Type: application/json' -d' { "index" : {   "shrink.source.uuid" : null }}'
{
  "error" : {
    "root_cause" : [
      {
        "type" : "remote_transport_exception",
        "reason" : "[elk24][10.21.15.24:9300][indices:admin/settings/update]"
      }
    ],
    "type" : "illegal_argument_exception",
    "reason" : "unknown setting [index.shrink.source.uuid] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
  },
  "status" : 400
}

我希望只是删除设置。

以前,ES通过将设置的值设置为null来模拟删除设置。不幸的是,这仅适用于明确支持的设置,而不适用于过时的不受支持的设置。

问题仍然是如何删除当前版本的ES不再支持的索引设置?

0 个答案:

没有答案