Java 将数据加载到Druid时出错

Java 将数据加载到Druid时出错,java,apache-zookeeper,properties-file,druid,Java,Apache Zookeeper,Properties File,Druid,我是druid新手,尝试通过本地文件加载数据。我已经设置了节点和zookeeper实例。我在Ubuntu 18.04中尝试过这一点,效果很好,但我在lUbuntu中尝试过使用它,我看到以下错误: 2018-07-30T12:25:03,390 ERROR [main] io.druid.cli.CliPeon - Error when starting up. Failing. com.google.inject.ProvisionException: Unable to provision,

我是druid新手,尝试通过本地文件加载数据。我已经设置了节点和zookeeper实例。我在Ubuntu 18.04中尝试过这一点,效果很好,但我在lUbuntu中尝试过使用它,我看到以下错误:

2018-07-30T12:25:03,390 ERROR [main] io.druid.cli.CliPeon - Error when starting up.  Failing.
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error in custom provider, java.lang.OutOfMemoryError
  at io.druid.guice.DruidProcessingModule.getIntermediateResultsPool(DruidProcessingModule.java:110) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> io.druid.guice.DruidProcessingModule)
  at io.druid.guice.DruidProcessingModule.getIntermediateResultsPool(DruidProcessingModule.java:110) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> io.druid.guice.DruidProcessingModule)
  while locating io.druid.collections.NonBlockingPool<java.nio.ByteBuffer> annotated with @io.druid.guice.annotations.Global()
    for the 2nd parameter of io.druid.query.groupby.GroupByQueryEngine.<init>(GroupByQueryEngine.java:81)
  at io.druid.guice.QueryRunnerFactoryModule.configure(QueryRunnerFactoryModule.java:88) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> io.druid.guice.QueryRunnerFactoryModule)
  while locating io.druid.query.groupby.GroupByQueryEngine
    for the 2nd parameter of io.druid.query.groupby.strategy.GroupByStrategyV1.<init>(GroupByStrategyV1.java:77)
  while locating io.druid.query.groupby.strategy.GroupByStrategyV1
    for the 2nd parameter of io.druid.query.groupby.strategy.GroupByStrategySelector.<init>(GroupByStrategySelector.java:43)
  while locating io.druid.query.groupby.strategy.GroupByStrategySelector
    for the 1st parameter of io.druid.query.groupby.GroupByQueryQueryToolChest.<init>(GroupByQueryQueryToolChest.java:104)
  at io.druid.guice.QueryToolChestModule.configure(QueryToolChestModule.java:101) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> io.druid.guice.QueryRunnerFactoryModule)
  while locating io.druid.query.groupby.GroupByQueryQueryToolChest
  while locating io.druid.query.QueryToolChest annotated with @com.google.inject.multibindings.Element(setName=,uniqueId=80, type=MAPBINDER, keyType=java.lang.Class<? extends io.druid.query.Query>)
  at io.druid.guice.DruidBinders.queryToolChestBinder(DruidBinders.java:45) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> io.druid.guice.QueryRunnerFactoryModule -> com.google.inject.multibindings.MapBinder$RealMapBinder)
  while locating java.util.Map<java.lang.Class<? extends io.druid.query.Query>, io.druid.query.QueryToolChest>
    for the 1st parameter of io.druid.query.MapQueryToolChestWarehouse.<init>(MapQueryToolChestWarehouse.java:36)
  while locating io.druid.query.MapQueryToolChestWarehouse
  while locating io.druid.query.QueryToolChestWarehouse
    for the 1st parameter of io.druid.server.QueryLifecycleFactory.<init>(QueryLifecycleFactory.java:52)
  at io.druid.server.QueryLifecycleFactory.class(QueryLifecycleFactory.java:52)
  while locating io.druid.server.QueryLifecycleFactory
    for the 1st parameter of io.druid.server.QueryResource.<init>(QueryResource.java:113)
  at io.druid.server.QueryResource.class(QueryResource.java:78)
  while locating io.druid.server.QueryResource
Caused by: java.lang.OutOfMemoryError
    at sun.misc.Unsafe.allocateMemory(Native Method)
    at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:127)
    at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
    at io.druid.offheap.OffheapBufferGenerator.get(OffheapBufferGenerator.java:53)
    at io.druid.offheap.OffheapBufferGenerator.get(OffheapBufferGenerator.java:29)
    at io.druid.collections.StupidPool.makeObjectWithHandler(StupidPool.java:112)
    at io.druid.collections.StupidPool.<init>(StupidPool.java:83)
    at io.druid.guice.DruidProcessingModule.getIntermediateResultsPool(DruidProcessingModule.java:115)
    at io.druid.guice.DruidProcessingModule$$FastClassByGuice$$8e266e5c.invoke(<generated>)
    at com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:264)
    at com.google.inject.internal.ProviderMethod$Factory.provision(ProviderMethod.java:401)
    at com.google.inject.internal.ProviderMethod$Factory.get(ProviderMethod.java:376)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
2018-07-30T12:25:03390错误[main]io.druid.cli.clipaun-启动时出错。弱点。
com.google.inject.ProvisionException:无法设置,请查看以下错误:
1) 自定义提供程序中的错误,java.lang.OutOfMemoryError
在io.druid.guice.DruidProcessingModule.getIntermediateResultsPool(DruidProcessingModule.java:110)(通过modules:com.google.inject.util.modules$OverrideModule->com.google.inject.util.modules$OverrideModule->io.druid.guice.DruidProcessingModule)
在io.druid.guice.DruidProcessingModule.getIntermediateResultsPool(DruidProcessingModule.java:110)(通过modules:com.google.inject.util.modules$OverrideModule->com.google.inject.util.modules$OverrideModule->io.druid.guice.DruidProcessingModule)
查找用@io.druid.guice.annotations.Global()注释的io.druid.collections.NonBlockingPool时
用于io.druid.query.groupby.GroupByQueryEngine的第二个参数。(GroupByQueryEngine.java:81)
在io.druid.guice.QueryRunnerFactoryModule.configure(QueryRunnerFactoryModule.java:88)(通过modules:com.google.inject.util.modules$OverrideModule->com.google.inject.util.modules$OverrideModule->io.druid.guice.QueryRunnerFactoryModule)
查找io.druid.query.groupby.GroupByQueryEngine时
用于io.druid.query.groupby.strategy.GroupByStrategyV1的第二个参数。(GroupByStrategyV1.java:77)
查找io.druid.query.groupby.strategy.GroupByStrategyV1时
用于io.druid.query.groupby.strategy.GroupByStrategySelector的第二个参数。(GroupByStrategySelector.java:43)
查找io.druid.query.groupby.strategy.GroupByStrategySelector时
用于io.druid.query.groupby.GroupByQueryQueryQueryToolChest的第一个参数。(GroupByQueryQueryToolChest.java:104)
在io.druid.guice.QueryToolChestModule.configure(QueryToolChestModule.java:101)(通过模块:com.google.inject.util.modules$OverrideModule->com.google.inject.util.modules$OverrideModule->io.druid.guice.queryrunnerfactorydule)
查找io.druid.query.groupby.GroupByQueryQueryToolChest时

在定位用@com.google.inject.multibindings.Element(setName=,uniqueId=80,type=MAPBINDER,keyType=java.lang.Class)注释的io.druid.query.QueryToolChest时,您应该修改五个进程内存并重新启动

我认为您需要增加直接缓冲区内存。 参考:

在中间管理器配置中,您将找到此选项 druid.indexer.runner.javaOpts将其设置为更高的值-XX:MaxDirectMemorySize=4g

参考:druid.io/docs/latest/configuration/index.html