Failed: 1: this action would add
2022-12-27 本文已影响0人
宇VS然
查看es日志,有报错信息
Failed: 1: this action would add [1] total shards, but this cluster currently has [1000]/[1000] maximum shards open;
ES当前最大的分片数只有1000,并且已经占用满了,但是此时ES创建新索引时还需要1个分片。也就是说ES的分片数不够用了。
因为从Elasticsearch7.X版本开始,每个node默认只允许有1000个分片,所以上述报错是因为集群分片数不足引起的。
解决方法:
方法1: 通过修改配置文件elasticsearch.yml,增加配置 cluster.max_shards_per_node: 5000,重启服务。(推荐)
cluster.max_shards_per_node: 5000
方法2: 通过curl请求修改分片数量
临时生效
curl -XPUT -H "Content-Type:application/json" http://localhost:9200/_cluster/settings -d '{ "transient": { "cluster": { "max_shards_per_node": 5000 } } }'
永久生效(推荐)
curl -XPUT -H "Content-Type:application/json" http://localhost:9200/_cluster/settings -d '{ "persistent": { "cluster": { "max_shards_per_node": 5000 } } }'