elasticsearch circuit breaker 怎么配置?

bluesky1年前 ⋅ 761 阅读
Elasticsearch默认配置了几个circuit breaker,其目的是防止OOM(OutOfMemory)错误并保护节点的稳定。这些circuit breaker是:

- 调用链(parent)circuit breaker:在整个集群范围内限制Elasticsearch节点内存的总量。
- 索引(circuit breaker):限制单个索引的内存使用量。
- 索引请求(circuit breaker):限制单个请求在内存中使用的字节数。
- 搜索(circuit breaker):限制单个搜索请求在内存中使用的字节数。
- 部分(circuit breaker):限制单个请求分片数量。

你可以通过以下两种方式来配置circuit breaker。

1. 在elasticsearch.yml文件中使用以下参数:

```
indices.breaker..limit
```

例如,要配置索引circuit breaker的内存限制为1 GB,可以添加以下配置:

```
indices.breaker.request.limit: 1gb
```

2. 通过API来配置circuit breaker:

通过以下方法可以获取此信息:

```
GET /_nodes/stats/breaker?pretty
```

通过以下方法来更新此信息:

```
PUT /_cluster/settings
{
  "persistent": {
    "indices.breaker..limit": "1gb"
  }
}
```

全部评论: 0

    相关推荐