码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【踩坑记录】Elasticsearch查询:circuit_breaking_exception异常解决方案


    项目场景:

    springboot中使用ES7查询一个月内的数据量趋势时出错。在开发线上正常,演示线时出现异常


    问题描述

    项目在演示线环境的时候,出现查询异常

    异常信息如下:

    1. org.elasticsearch.ElasticsearchStatusException: Elasticsearch exception [type=circuit_breaking_exception, reason=[parent] Data too large, data for [] would be [31741946644/29.5gb], which is larger than the limit of [31621696716/29.4gb], real usage: [31741945664/29.5gb], new bytes reserved: [980/980b], usages [request=0/0b, fielddata=896932/875.9kb, in_flight_requests=980/980b, model_inference=0/0b, accounting=89070922/84.9mb]]
    2.         at org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:187)
    3.         at org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:1911)
    4.         at org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:1888)
    5.         at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1645)
    6.         at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1602)
    7.         at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1572)
    8.         at org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:1088)

    原因分析:

    原因:ES默认的缓存设置是缓存区是只进不出的,一当缓存区不够时,就会抛出异常

    解决方案:

    1. API方式设置,无需重启ES

    1. PUT _cluster/settings
    2. {
    3. "persistent" : {
    4. "indices.breaker.fielddata.limit" : "40%"
    5. }
    6. }

    2. 设置elasticsearch.yml文件,然后重启ES

    1. indices.memory.index_buffer_size: 30%
    2. indices.recovery.max_bytes_per_sec: 30mb
    3. indices.fielddata.cache.size: 30%
    4. indices.breaker.fielddata.limit: 40%
    5. indices.breaker.request.limit: 40%
    6. indices.breaker.total.use_real_memory: false
    7. indices.breaker.total.limit: 70%

    配置完后,重新查询,正常

  • 相关阅读:
    springboot项目的文件上传至本地的minio框架
    数据可视化:让数据讲述故事
    Web Worker实现前端的“多线程”
    C++(Qt)软件调试---GCC编译参数学习-程序检测(13)
    ZZULIOJ:1004: 三位数的数位分离
    【RTOS训练营】上节回顾、空闲任务、定时器任务、执行顺序、调度策略和晚课提问
    黑马瑞吉外卖之菜品信息的修改
    ftp服务器搭建部署与C#实现ftp文件的上传
    [Python中常用的回归模型算法大全:从线性回归到XGBoost]
    如何快速配置一个Web项目(一学就会!)
  • 原文地址:https://blog.csdn.net/huang_550/article/details/139474079
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号