1

我们最近将弹性云部署从 6.8.5 升级到 7.9 升级后,我们不时看到以下错误。

{
  "error" : {
    "root_cause" : [
      {
        "type" : "circuit_breaking_exception",
        "reason" : "[parent] Data too large, data for [<http_request>] would be [416906520/397.5mb], which is larger than the limit of [408420352/389.5mb], real usage: [416906520/397.5mb], new bytes reserved: [0/0b], usages [request=0/0b, fielddata=32399/31.6kb, in_flight_requests=0/0b, model_inference=0/0b, accounting=4714192/4.4mb]",
        "bytes_wanted" : 416906520,
        "bytes_limit" : 408420352,
        "durability" : "PERMANENT"
      }
    ],
    "type" : "circuit_breaking_exception",
    "reason" : "[parent] Data too large, data for [<http_request>] would be [416906520/397.5mb], which is larger than the limit of [408420352/389.5mb], real usage: [416906520/397.5mb], new bytes reserved: [0/0b], usages [request=0/0b, fielddata=32399/31.6kb, in_flight_requests=0/0b, model_inference=0/0b, accounting=4714192/4.4mb]",
    "bytes_wanted" : 416906520,
    "bytes_limit" : 408420352,
    "durability" : "PERMANENT"
  },
  "status" : 429
}

此部署仅包含一个具有 1G 内存的节点。我们想知道这个错误的原因。是因为升级吗?

谢谢你。

4

1 回答 1

2

首先,断路器是一种保护措施,某些请求不会将您的集群推到它可以处理的范围之外——这是杀死单个请求而不是(可能)整个集群。还要注意,这个 HTTP 请求本身并不算大,但它会触发parent断路器——所以这个请求在其他一切之上会太多。

最初的断路器已在6.2.0中添加,但在7.0.0中进一步收紧。我想这就是你现在(更频繁地)看到这个的原因。

您可以更改indices.breaker.total.limit,但这并不是从集群中获得更多收益的神奇开关。1GB 的内存可能不足以满足您的要求。

于 2020-09-06T00:07:08.123 回答