我使用 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
是允许列表中的一个。
请建议如何更新此设置。
快到了,您需要将
defaults
重命名为 persistent
PUT /_cluster/settings
{
"persistent" : {
"cluster.max_shards_per_node": "2000"
}
}
但请注意,每个节点允许的分片越多,每个节点需要的资源就越多,性能就越差。