ElasticSearch的错误及解决方法:outofmemoryerror java heap space
错误:timeout notification from cluster service. timeout setting 1m, time since start 1m) Caused by:java.lang.OutOfMemoryError: Java heap space:可能原因:1.读取过多的数据到内存,尤其是field data字段(在使用sorting和aggregations)2
·
错误:
timeout notification from cluster service. timeout setting 1m, time since start 1m) Caused by:
java.lang.OutOfMemoryError: Java heap space:
可能原因:
1.读取过多的数据到内存,尤其是field data字段(在使用sorting和aggregations)
2.配置出错,设置的heap size没有生效,可能是设置错地方了。默认的heap size(min 256M,max 1G)是不够用的。
3.做索引的数据过多,比如bulk size设置过大
4.查询时,要求返回的数据量太大(size设置过大)
5.主节点的内存不够用,这种情况下可能是由于cluster state引起的。若索引使用大量的别名(alias),cluster state就会使用大量的内存。
解决方法
我的程序是向ES中提交数据比较大,索引造成了堆内存变大,超出了限制。
1.将提交的数据包变小。
2.将修改ES的配置文件,增大ES的JVM的Heap Size大小,默认是1G的启动内存。我们可以根据自己的机器情况,适当增加。
在ES6.X,7.X中,是需要在配置文件中进行修改,以前版本的则是修改环境变量或启动es中加入命令行。
以7.4版本为例:
配置文件在./elasticsearch-7.4.0/config/jvm.options
修改jvm.options文件
更多推荐
已为社区贡献2条内容
所有评论(0)