解决Elasticsearch查询出现Data too large……情况

Elasticsearch在实际生产环境中提供实时查询,出现Data too large, data for [src_ip] would be larger than limit……

 解决Elasticsearch查询出现Data too large……情况_第1张图片

    经过一番查找,才发现粗心的同事在启动es的时候忘记设置堆内存(ES_HEAP_SIZE)导致这种情况。es默认启动是指定堆内存为1G,在生产环境肯定是不能满足的。于是

./elasticsearch -Xms10g -Xmx10g

  -Xms10g 表示JVM Heap(堆内存)最小为10g,初始化内存大小

  -Xmx10g表示应用JVM最大允许分配的堆内存,程序能够使用的最大内存数

这两个参数最好设置一样,可以避免每次GC后调整堆大小。

 

如果这样设置还会出问题可以在elasticsearch.yml配置indices.breaker.fielddata.limit,默认大小为60%,可以根据实际情况调整大小,修改完成重新启动集群。

还可以配置indices.fielddata.cache.size清除旧数据占用的filedata,让新的数据可以加载进来。避免在查询中查不到新插入的数据

你可能感兴趣的:(Elasticsearch,Elasticsearch使用)