Elasticsearch报错action.search.shard_count.limit


查ES报错

action.search.shard_count.limit

这个参数主要用于限制一次操作过多的分片,防止过多的占用内存和CPU资源。默认情况下ES不限制搜索请求牵涉到的分片数量,你可以设置软限制 action.search.shard_count.limit 来拒绝命中太多分片的请求。

如果看到错误日志如下,修改此参数可以解决问题。

"reason" : "Trying to query 1344 shards, which is over the limit of 1000. This limit exists because querying 
many shards at the same time can make the job of the coordinating node very CPU and/or memory 
intensive. It is usually a better idea to have a smaller number of larger shards. Update 
[action.search.shard_count.limit] to a greater value if you really want to query that many shards at the same time."

 

解决方法:
curl -u es:es -XPUT 'http://localhost:9200/_cluster/settings' -H 'Content-Type: application/json' -d' 
{
    "persistent" : {
        "action.search.shard_count.limit" : "2000"
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`co.elastic.clients.elasticsearch.indices.update_aliases.Actions` 是 Elasticsearch 客户端 Java API 中的一个类,用于构建更新别名的请求参数。 在 Elasticsearch 中,别名是索引的可选名称,用于更方便地访问索引。当索引的名称发生变化或需要将索引更改为只读模式时,可以使用别名进行操作,而不会影响到应用程序的正常运行。 `co.elastic.clients.elasticsearch.indices.update_aliases.Actions` 类的主要作用是构建别名操作,包括添加别名和删除别名。该类提供了多个静态方法,可以创建不同类型的别名操作,例如 `add` 方法用于创建添加别名的操作,`remove` 方法用于创建删除别名的操作。以下是一个示例代码: ```java UpdateAliasesRequest request = new UpdateAliasesRequest() .addAliasAction(Actions.add(new Alias("alias_name").index("index_name").routing("routing_value"))) .removeAliasAction(Actions.remove("old_alias_name").index("index_name")); ElasticsearchClient client = ...; // 创建 Elasticsearch 客户端 UpdateAliasesResponse response = client.indices().updateAliases(request, RequestOptions.DEFAULT); ``` 在该示例中,首先创建了一个 `UpdateAliasesRequest` 实例,并使用 `addAliasAction` 方法添加一个添加别名的操作,该操作指定了别名名称、索引名称和路由值。接着使用 `removeAliasAction` 方法添加一个删除别名的操作,该操作指定了要删除的别名名称和索引名称。最后,调用 Elasticsearch 客户端的 `updateAliases` 方法将更新别名的请求发送到 Elasticsearch 集群,并将返回的响应结果存储在 `UpdateAliasesResponse` 实例中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值