应用场景:
使用logstash工具将mysql的数据表同步到ElasticSearch
报错内容:
java.lang.OutOfMemoryError: Java heap space
解决方法:
一开始我还以为是ElasticSearch的问题。
free -h 查看了下内存使用情况,free的内存只有1.5个g了,后来发现ElasticSearch占用内存过大。于是就修改了ElasticSearch的内存为物理内存的一半大小。
再重新尝试同步的脚本。还是上面的错误。
所以尝试修改Logstash的配置,即jvm.options
默认是1g
-Xms1g
-Xmx1g
把这个参数改大一些,可以自己决定要多大,我改为5g
-Xms5g
-Xmx5g
重新运行同步脚本,就可以成功导入了