Binding for NodeTypeConfig if you want a DruidServerMetadata - using Druid 0.14.0

I am coming across this error while starting broker in Druid 0.14.0.

Exception in thread “main” com.google.inject.CreationException: Unable to create injector, see the following errors:

  1. Must override the binding for NodeTypeConfig if you want a DruidServerMetadata.

at org.apache.druid.guice.StorageNodeModule.getMetadata(StorageNodeModule.java:56) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.StorageNodeModule)

at org.apache.druid.guice.StorageNodeModule.getMetadata(StorageNodeModule.java:56) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.StorageNodeModule)

while locating org.apache.druid.server.coordination.DruidServerMetadata

for the 1st parameter of org.apache.druid.server.coordination.BatchDataSegmentAnnouncer.(BatchDataSegmentAnnouncer.java:84)

at org.apache.druid.guice.AnnouncerModule.configure(AnnouncerModule.java:45) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.AnnouncerModule)

while locating org.apache.druid.server.coordination.BatchDataSegmentAnnouncer

at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:151) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.AnnouncerModule)

at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:151) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.AnnouncerModule)

while locating com.google.common.base.Supplier<org.apache.druid.server.coordination.DataSegmentAnnouncerProvider>

at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:152) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.AnnouncerModule)

while locating org.apache.druid.server.coordination.DataSegmentAnnouncerProvider

while locating org.apache.druid.server.coordination.DataSegmentAnnouncer

for the 3rd parameter of org.apache.druid.server.coordination.SegmentLoadDropHandler.(SegmentLoadDropHandler.java:109)

at org.apache.druid.server.coordination.SegmentLoadDropHandler.class(SegmentLoadDropHandler.java:70)

while locating org.apache.druid.server.coordination.SegmentLoadDropHandler

for the 3rd parameter of org.apache.druid.server.metrics.HistoricalMetricsMonitor.(HistoricalMetricsMonitor.java:48)

while locating org.apache.druid.server.metrics.HistoricalMetricsMonitor

at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:92) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)

at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:92) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)

while locating org.apache.druid.java.util.metrics.MonitorScheduler

at org.apache.druid.server.metrics.MetricsModule.configure(MetricsModule.java:77) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)

while locating org.apache.druid.java.util.metrics.MonitorScheduler annotated with @com.google.inject.name.Named(value=ForTheEagerness)

I am coming across this error while starting broker in Druid 0.14.0.

Exception in thread “main” com.google.inject.CreationException: Unable to create injector, see the following errors:

  1. Must override the binding for NodeTypeConfig if you want a DruidServerMetadata.

at org.apache.druid.guice.StorageNodeModule.getMetadata(StorageNodeModule.java:56) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.StorageNodeModule)

at org.apache.druid.guice.StorageNodeModule.getMetadata(StorageNodeModule.java:56) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.StorageNodeModule)

while locating org.apache.druid.server.coordination.DruidServerMetadata

for the 1st parameter of org.apache.druid.server.coordination.BatchDataSegmentAnnouncer.(BatchDataSegmentAnnouncer.java:84)

at org.apache.druid.guice.AnnouncerModule.configure(AnnouncerModule.java:45) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.AnnouncerModule)

while locating org.apache.druid.server.coordination.BatchDataSegmentAnnouncer

at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:151) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.AnnouncerModule)

at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:151) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.AnnouncerModule)

while locating com.google.common.base.Supplier<org.apache.druid.server.coordination.DataSegmentAnnouncerProvider>

at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:152) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.AnnouncerModule)

while locating org.apache.druid.server.coordination.DataSegmentAnnouncerProvider

while locating org.apache.druid.server.coordination.DataSegmentAnnouncer

for the 3rd parameter of org.apache.druid.server.coordination.SegmentLoadDropHandler.(SegmentLoadDropHandler.java:109)

at org.apache.druid.server.coordination.SegmentLoadDropHandler.class(SegmentLoadDropHandler.java:70)

while locating org.apache.druid.server.coordination.SegmentLoadDropHandler

for the 3rd parameter of org.apache.druid.server.metrics.HistoricalMetricsMonitor.(HistoricalMetricsMonitor.java:48)

while locating org.apache.druid.server.metrics.HistoricalMetricsMonitor

at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:92) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)

at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:92) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)

while locating org.apache.druid.java.util.metrics.MonitorScheduler

at org.apache.druid.server.metrics.MetricsModule.configure(MetricsModule.java:77) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)

while locating org.apache.druid.java.util.metrics.MonitorScheduler annotated with @com.google.inject.name.Named(value=ForTheEagerness)

My broker/runtime.properties

druid.service=druid/broker

druid.plaintextPort=8082

HTTP server settings

druid.server.http.numThreads=60

HTTP client settings

druid.broker.http.numConnections=10

Processing threads and buffers

druid.processing.buffer.sizeBytes=536870912

druid.processing.numMergeBuffers=2

druid.processing.numThreads=1

Query cache disabled – push down caching and merging instead

druid.broker.cache.useCache=false

druid.broker.cache.populateCache=false