ELK之kibana的web报错[request] Data too large, data for [<agg [2]>] would be larger than limit of

http://blog.51cto.com/11819159/1926411

ELK架构:elasticsearch+kibana+filebeat

    版本信息:

        elasticsearch 5.2.1

        kibana 5.2.1

        filebeat 6.0.0 (预览版)

    今天在进行ELK测试的时候,在kibana上面discover无论那个index,发现均会报错:

[request] Data too large, data for [<agg [2]>] would be larger than limit of 

    并且在elasticsearch的日志可以看到:

org.elasticsearch.common.breaker.CircuitBreakingException: [request] Data too large, data for [<agg [2]>] would be larger than limit of [1283260416/1.1gb]

    根据错误信息在Google的帮助下,可以比较明显的获取得到是由于内存不够的原因导致,但是具体是因为什么原因暂时还不是很清楚。并且网上大部分出现类似的错误都是清楚缓存:

    curl -XPUT 'http://localhost:9200/_cache/clear'

    在server上面我执行的上诉语句之后,在kibana的web界面点击discover还是出现上诉的错误,说明思路是错误的,然后我在下面的一篇文章中找到了一些有用的信息:

   http://blog.csdn.net/brotherdong90/article/details/50477836

    

wKioL1ka3qPSB8jEAAD1iwk2iIw579.png

wKiom1ka3qOBxtf4AACJDrmdWEY064.png

wKiom1ka3qShzxv9AAC1G-qPCWo610.png

在上面的截图我们可以比较清晰的获取得到elasticsearch的circuite breaker的断路器原理,但是在上面的截图它出现的错误是fieddate,但是我出现的错误是request,所以我猜想我可能是因为request circuite breaker ,request的内存不够。

wKioL1ka4C_yDAwTAACMwVxowQY227.png    上面的解释这个主要是为了防止单个request使用过多的内存所做的措施,所以我做的就是动态的更改request的cache大小:

curl -XPUT localhost:9200/_cluster/settings -d '{

  "persistent" : {

    "indices.breaker.request.limit" : "40%" 

  }

}'

原文地址:https://www.cnblogs.com/wangmo/p/9917589.html