solrCloud设置Tomcat jvm内存解决内存溢出的问题

BitTigerio 2018-01-16

几乎已经搜遍了整个网络,没有找到一篇解决设置solr在Tomcat下设置虚拟机内存的文章。

因为之前一直是在Tomcat中设置zkhost参数,在加上jvm参数后会无法启动,添加其他参数也没有生效。

后来在Apache官网找到可以将zkhost参数放在solr.xml中。

https://lucene.apache.org/solr/guide/6_6/format-of-solr-xml.html

solrCloud设置Tomcat jvm内存解决内存溢出的问题

方法:

1、打开配置文件solr.xml,加入

<str name="zkHost">${zkHost:127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183}</str>

solrCloud设置Tomcat jvm内存解决内存溢出的问题

2、在catalina.bat 中加入(以Windows为例)

set JAVA_OPTS= -Xms1024m -Xmx1024m

3、重新启动solr,发现启动后的jvm内存配置就已经生效了

solrCloud设置Tomcat jvm内存解决内存溢出的问题

原因总结:

在Tomcat启动中将zkhost参数使用 JAVA_OPTS 设置后,再添加 -Xms 参数会导致solr在启动时读取配置错误,会报无法解析该字符串的错。

相关推荐