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

ELK之kibana的web报错[request] Data too large, data for [&lt;agg [2]&gt;] would be larger than limit of-LMLPHP

ELK之kibana的web报错[request] Data too large, data for [&lt;agg [2]&gt;] would be larger than limit of-LMLPHP

ELK之kibana的web报错[request] Data too large, data for [&lt;agg [2]&gt;] would be larger than limit of-LMLPHP

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

ELK之kibana的web报错[request] Data too large, data for [&lt;agg [2]&gt;] would be larger than limit of-LMLPHP    上面的解释这个主要是为了防止单个request使用过多的内存所做的措施,所以我做的就是动态的更改request的cache大小:

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

"persistent" : {

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

}

}'

05-11 20:03