当前位置:网站首页>“error“: { “root_cause“: [{ “type“: “circuit_breaking_exception“, “reason“: “[parent] D [solved]
“error“: { “root_cause“: [{ “type“: “circuit_breaking_exception“, “reason“: “[parent] D [solved]
2022-08-09 04:03:00 【JavaPub-rodert】
异常
{
"error": {
"root_cause": [{
"type": "circuit_breaking_exception",
"reason": "[parent] Data too large, data for [] would be [7201130054/6.7gb], which is larger than the limit of [7103712460/6.6gb], real usage: [7201129672/6.7gb], new bytes reserved: [382/382b], usages [request=0/0b, fielddata=19998/19.5kb, in_flight_requests=21400104/20.4mb, model_inference=0/0b, accounting=10053032/9.5mb]",
"bytes_wanted": 7201130054,
"bytes_limit": 7103712460,
"durability": "TRANSIENT"
}],
"type": "circuit_breaking_exception",
"reason": "[parent] Data too large, data for [] would be [7201130054/6.7gb], which is larger than the limit of [7103712460/6.6gb], real usage: [7201129672/6.7gb], new bytes reserved: [382/382b], usages [request=0/0b, fielddata=19998/19.5kb, in_flight_requests=21400104/20.4mb, model_inference=0/0b, accounting=10053032/9.5mb]",
"bytes_wanted": 7201130054,
"bytes_limit": 7103712460,
"durability": "TRANSIENT"
},
"status": 429
}
原因
Believe that the reason everyone to,Then look at the end of the article detailed analytic.
field dataThe cache is not enough use
解决
设置 fielddata 缓存占用 JVM 内存的 40% 或更小
curl -XPUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d '{ "persistent" : { "indices.breaker.fielddata.limit" : "40%" } }'
返回:
{
"acknowledged": true,
"persistent": {
"indices": {
"breaker": {
"fielddata": {
"limit": "40%"
}
}
}
},
"transient": {
}
}
elasticsearch fielddata理解
在es中,textTypes of fields use a technique calledfielddataThe query memory data structure.When the field is sorted,Aggregation or through script to access the data structure is created.It is through a read from disk each segment of the inverted index to construct the,And then stored injava的堆内存中.
fileddata默认是不开启的.Fielddata可能会消耗大量的堆空间,尤其是在加载高基数文本字段时.一旦fielddata已加载到堆中,它将在该段的生命周期内保留.此外,加载fielddata是一个昂贵的过程,可能会导致用户遇到延迟命中.这就是默认情况下禁用fielddata的原因.If you try to prioritize,Aggregation or script access,See the following exception:
“Fielddata is disabled on text fields by default. Set fielddata=true on [your_field_name] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory.”
在启用fielddata之前, text fieldPlease consider to use the text field aggregated,The reason of ordering or script.这样做通常没有意义.textFields in the index such asNew York这样的词会被分词,会被拆成new,york.在此字段上面来一个terms的聚合会返回一个new的bucket和一个york的bucket,When you want to return only aNew York的bucket的时候就会出现问题.在kibanaPerform the following commands can be:
PUT my_index
{
"mappings": {
"_doc": {
"properties": {
"my_field": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
}
}
}
}
}
然后使用my_field字段进行搜索.使用my_field.keyword字段进行聚合,排序或脚本.
可以使用PUT映射APIIn the existing text field enabled onfielddata,如下所示:
PUT my_index/_mapping/_doc
{
"properties": {
"my_field": {
"type": "text",
"fielddata": true
}
}
}
为my_fieldThe specified mapping should contain the field's existing andfielddata参数.
边栏推荐
- gopacket使用示例
- LeetCode题解—15.三数之和
- leetcode 2021春季挑战赛 1. 采购方案
- leetcode 5724. 绝对差值和
- 技术分享 | 如何模拟真实使用场景?mock 技术来帮你
- 盘点检索任务中的损失函数
- If A, B, C, and D process parts, the total number of processed parts is 370. If the number of parts processed by A is 10 more, if the number of parts processed by B is 20 less, if the number of parts
- 技术分享 | 使用 cURL 发送请求
- 07 类与对象(一)
- Linux安装MySQL8
猜你喜欢
随机推荐
松柏集(夜未央)
Error detected while processing /home/test/.vim/plugin/visualmark.vim
etcd学习笔记 - 入门
Oracle 的开窗函数使用详解
SIP协议栈学习之开始篇
NanoDet代码逐行精读与修改(一)Backbone
简单的数学公式计算
powershell 执行策略
器件可靠性与温度的关系
31 basic statistical concepts
31 基本统计概念
【Redis底层解析】字典类型
MutationObserver接口(一) 基本用法
leetcode 5705. 判断国际象棋棋盘中一个格子的颜色
ffmpeg之H265解码
新工作切入反思
理性预测,未来音视频开发前景将是这般光景
【每日一题】761. 特殊的二进制序列
rk3399 PCIe rc设备枚举之设备资源识别分析
union








