问题
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”}}} 表示执行成功!