Druid - HTTP Emitter - Questions

440 views
Skip to first unread message

Jagadeesh M

unread,
Apr 26, 2016, 8:00:47 PM4/26/16
to Druid User
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.<init>(ServerManager.java:106)
 
while locating io.druid.server.coordination.ServerManager
   
for parameter 1 at io.druid.server.metrics.HistoricalMetricsMonitor.<init>(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)


Fangjin Yang

unread,
Apr 26, 2016, 9:07:16 PM4/26/16
to Druid User
Inline


On Tuesday, April 26, 2016 at 5:00:47 PM UTC-7, Jagadeesh M wrote:
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?

nav...@gmail.com

unread,
May 20, 2016, 1:29:04 AM5/20/16
to Druid User
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 님의 말:

q...@netskope.com

unread,
Mar 28, 2017, 4:43:20 PM3/28/17
to Druid User
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
Reply all
Reply to author
Forward
0 new messages