乔克
乔克
Published on 2024-11-15 / 104 Visits
0
0

解决ElasticSearch的maximum shards open问题

问题

ValidationException[Validation Failed: 1: this action would add [2] total shards, but this cluster currently has [999]/[1000] maximum shards open;]

原因

这是因为集群最大 shard(分片) 数不足引起的,从 Elasticsearch v7.0 开始,集群中的每个节点默认限制 1000 个分片。

解决

方案 1、在 elasticsearch.yml 中定义

cluster.max_shards_per_node: 10000

方案 2、在 kibana 控制台执行

PUT /_cluster/settings
{
  "transient": {
    "cluster": {
      "max_shards_per_node":10000
    }
  }
}

方案 3、在 linux 控制台执行

curl -XPUT http://localhost:9200/_cluster/settings \
-u elastic:password \
-H "Content-Type: application/json" \
-d '{"transient":{"cluster":{"max_shards_per_node":10000}}}' 

返回 {“acknowledged”:true,“persistent”:{},“transient”:{“cluster”:{“max_shards_per_node”:“10000”}}} 表示执行成功!


Comment