solrcore初始化失败-最大直接内存可能太低

g52tjvyc  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(561)

我在solrcore初始化期间收到以下异常消息:
org.apache.solr.common.solrexception:org.apache.solr.common.solrexception:最大直接内存可能太低。增加它(通过在容器启动参数中添加-xx:maxdirectmemorysize=g-xx:+uselargepages)或使用solrconfig.xml中的solr.hdfs.blockcache.direct.memory.allocation=false禁用直接分配。如果将块缓存放在堆上,那么java堆的大小可能不够大。分配~134.217728 mb失败。
如何解决此错误?

vmpqdwk3

vmpqdwk31#

solr正在直接内存中从jvm堆缓存hdfs索引文件。执行此操作时内存不足。您可以通过设置 solr.hdfs.blockcache.direct.memory.allocation=false 在solrconfig.xml中。这将导致solr在堆中缓存hdfs索引文件部分,因此检查jvm的大小非常重要。

mf98qq94

mf98qq942#

添加 -XX:MaxDirectMemorySize=20g 你的 solr.in.sh 文件到变量 GC_TUNE . (20g作为solr参考指南中的示例)
这个 GC_TUNE 应该是这样的:

GC_TUNE="-XX:NewRatio=3 \
        ...
        -XX:+ParallelRefProcEnabled \
        -XX:MaxDirectMemorySize=20g"

相关问题