Druid historical/broker 节点启动失败

部署Druid服务时遇到了启动失败的异常。相关的节点是historical和broker。异常信息如下:

异常信息中比较关键的部分是下面这一句:

这一句指明了启动失败的原因:分配的直接内存不足。需要的直接内存大小是“5,368,709,120”,实际提供的大小是“4,294,967,296”。

并且指明了解决方案:在虚拟机参数中添加“-XX:MaxDirectMemorySize”这样一个指标。

以为这样就够了!?druid的开发人员做的实际上还要多一点,他(们)在这段异常信息中还解释了为什么需要这么多直接内存,看看异常信息中提供的计算公式:

为了看着方便,我手动做了下换行。

公式中使用到的配置参数如druid.processing.buffer.sizeBytes和druid.processing.numMergeBuffers等可以在historical和middleManager的runtime.properties文件中找到。方括号里的值是用户自己设置的值。

至于怎么修改这个问题,网上找到的资料多是建议在middleManager的runtime.properties的druid.indexer.runner.javaOpts配置项中进行配置,我试了一下,不中。

忘了说了,使用的druid版本是0.12.1。

成功了的做法是分别在conf/druid/historical/jvm.config和conf/druid/broker/jvm.config中添加“-XX:MaxDirectMemorySize”参数。参数值可以参考异常信息的提示酌情设置。这里是我的historical/jvm.config的配置:

设置完成后,重启,可以成功,说明配置生效。就这样。

######

已有2条评论 发表评论

  1. linux2014 /

    你好,咨询一下,我部署0.13孵化版的时候,broker和historical遇到和你一样的问题,但是如上修改参数后,启动broker和historical节点时直接报jvm启动失败:unrecognized option: -server Error Could not create the java virtual Machine. Error: A fatal exception has occurred. Program will exit. 是否遇到过类似问题?或有何建议?感恩!

    1. 白42 / 本文作者

      你的提示为配置项错误,jvm无法启动,请提供下配置信息才好进一步分析

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据