如何增加 AWS Elasticsearch Service 的 _cluster/settings/cluster.max_shards_per_node

问题描述 投票:0回答:1

我使用 AWS Elasticsearch 服务版本 7.1 及其内置 Kibana 来管理应用程序日志。 Logstash 每天都会创建新索引。我的 Logstash 时不时地收到有关最大分片限制达到的错误,我必须删除旧索引才能使其再次工作。

我从这份文档(https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-handling-errors.html)中发现我可以选择增加

_cluster/settings/cluster.max_shards_per_node

所以我尝试在 Kibana Dev Tools 中输入以下命令

PUT /_cluster/settings
{
  "defaults" : {
      "cluster.max_shards_per_node": "2000"
  }
}

但是我收到了这个错误

{
  "Message": "Your request: '/_cluster/settings' payload is not allowed."
}

有人建议当我尝试更新一些 AWS 不允许的设置时会发生此错误,但是此文档(https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-supported- es-operations.html#es_version_7_1) 告诉我

cluster.max_shards_per_node
是允许列表中的一个。

请建议如何更新此设置。

amazon-web-services elasticsearch opensearch
1个回答
29
投票

快到了,您需要将

defaults
重命名为
persistent

PUT /_cluster/settings
{
  "persistent" : {
      "cluster.max_shards_per_node": "2000"
  }
}

但请注意,每个节点允许的分片越多,每个节点需要的资源就越多,性能就越差。

© www.soinside.com 2019 - 2024. All rights reserved.