Druid - HTTP Emitter - Questions

Hi -

Can someone please help me understand the following ? I enabled http emitter module by setting druid.emitter=http in common.runtime.properties.

1 - Can I enable ALL the monitors in common.runtime.properties file ? Or do we need to enable specific ones in specific node. Meaning should I enable io.druid.server.metrics.HistoricalMetricsMonitor only in historical node and no where else?

2 - When I enabled all the monitors in common.runtime.properties, in coordinator node, I see errors like below. What needs to be done in this case.

Exception in thread “main” com.google.inject.CreationException: Guice creation errors:

  1. No implementation for io.druid.client.cache.Cache was bound.
    while locating io.druid.client.cache.Cache
    for parameter 6 at io.druid.server.coordination.ServerManager.(ServerManager.java:106)
    while locating io.druid.server.coordination.ServerManager
    for parameter 1 at io.druid.server.metrics.HistoricalMetricsMonitor.(HistoricalMetricsMonitor.java:42)
    while locating io.druid.server.metrics.HistoricalMetricsMonitor
    at io.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:90)
    at io.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:90)
    while locating com.metamx.metrics.MonitorScheduler
    at io.druid.server.metrics.MetricsModule.configure(MetricsModule.java:75)
    while locating com.metamx.metrics.MonitorScheduler annotated with @com.google.inject.name.Named(value=ForTheEagerness)

1 error
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
at com.google.inject.Guice.createInjector(Guice.java:96)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at io.druid.initialization.Initialization.makeInjectorWithModules(Initialization.java:324)
at io.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:60)
at io.druid.cli.ServerRunnable.run(ServerRunnable.java:39)
at io.druid.cli.Main.main(Main.java:105)

``

Inline

Hi -

Can someone please help me understand the following ? I enabled http emitter module by setting druid.emitter=http in common.runtime.properties.

1 - Can I enable ALL the monitors in common.runtime.properties file ? Or do we need to enable specific ones in specific node. Meaning should I enable io.druid.server.metrics.HistoricalMetricsMonitor only in historical node and no where else?

No. Look at: http://druid.io/docs/0.9.0/configuration/production-cluster.html

I’ve also met this.

Because CacheModule is installed only in broker/historical/realtime and peons, other servers like coordinator will throw that exception if it’s set in common configuration.

2016년 4월 27일 수요일 오전 10시 7분 16초 UTC+9, Fangjin Yang 님의 말:

I also ran the same issue. What’s the solution?

sounds like Jagadeesh M 's guess was right “do we need to enable specific ones in specific node. Meaning should I enable io.druid.server.metrics.HistoricalMetricsMonitor only in historical node and no where else”

– Qijing