Error while launching Peon

I am trying to setup the indexing service with “druid.indexer.runner.type=remote”,when i try ingesting data using tranquility all my task gets failed with the exception :

2015-06-04T11:59:25,454 INFO [main] io.druid.guice.JsonConfigurator - Loaded class[interface io.druid.server.log.RequestLoggerProvider] from props[druid.request.logging.] as [io.druid.server.log.NoopRequestLoggerProvider@1660de94]
2015-06-04T11:59:25,454 ERROR [main] io.druid.cli.CliPeon - Error when starting up.  Failing.
com.google.inject.ProvisionException: Guice provision errors:

1) Not enough direct memory.  Please adjust -XX:MaxDirectMemorySize, druid.processing.buffer.sizeBytes, or druid.processing.numThreads: maxDirectMemory[15,034,482,688], memoryNeeded[25,769,803,776] = druid.processing.buffer.sizeBytes[1,073,741,824] * ( druid.processing.numThreads[23] + 1 )
  at io.druid.guice.DruidProcessingModule.getIntermediateResultsPool(DruidProcessingModule.java:106)
  at io.druid.guice.DruidProcessingModule.getIntermediateResultsPool(DruidProcessingModule.java:106)
  while locating io.druid.collections.StupidPool<java.nio.ByteBuffer> annotated with @io.druid.guice.annotations.Global()
    for parameter 1 at io.druid.query.groupby.GroupByQueryEngine.<init>(GroupByQueryEngine.java:76)
  at io.druid.guice.QueryRunnerFactoryModule.configure(QueryRunnerFactoryModule.java:83)
  while locating io.druid.query.groupby.GroupByQueryEngine

I tried increasing the XMX of the middle manager java process but to no avail.

I also tried reducing the worker capacity to just 2 i.e druid.worker.capacity=2 but still it always fails with the same exception.

Can you let me know what can be wrong here?

Hi Rohit,

you need to lower down the number of processing threads for the spawned peons.

try setting druid.processing.numThreads=2 in your runtime.properties for middlemanager.