【总结】ElasticSearch创建索引失败,超过maximum shards

本文介绍了解决Elasticsearch创建索引时报错的问题,该错误提示超过最大分片数限制。通过调整ES集群的最大分片数配置,解决了这个问题,并区分了persistent和transient两种配置类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题现象

创建新的es索引报错,报错信息上说,es已经超过最大的分片数。

错误详情

关键错误信息:but this cluster currently has [999]/[1000] maximum shards open;

详细错误信息:

Caused by: org.elasticsearch.client.ResponseException: method [PUT], host [http://10.58.14.34:9200], URI [/janusgraph_idx_customer_cust_num], status line [HTTP/1.1 400 Bad Request]
{
    "error": {
        "root_cause": [
            {
                "type": "validation_exception",
                "reason": "Validation Failed: 1: this action would add [2] total shards, but this cluster currently has [999]/[1000] maximum shards open;"
            }
        ],
        "type": "validation_exception",
        "reason": "Validation Failed: 1: this action would add [2] total shards, but this cluster currently has [999]/[1000] maximum shards open;"
    },
    "status": 400
}

问题解决

更改es的最大分片数配置:

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d '
{
"persistent" : {
"cluster" : {
"max_shards_per_node" : "5000"
}
}
}'

需要注意的是,我们这里是在 persistent 节点中设置的参数。ES 集群的 setting 配置中包含两种类型:
persistent:永久生效的配置项
transient:临时生效的配置项,集群重启就会失效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长乐smile

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值