druid 0.11.0 kafka-emitter extension exception

30 views
Skip to first unread message

zhou...@gmail.com

unread,
Dec 27, 2017, 4:41:28 AM12/27/17
to Druid User
## I already uploaded kafka-emitter jars to the extensions directory and loaded the extension.
```
[root@gpsegment1 druid-0.11.0]# ls extensions/kafka-emitter/
kafka-clients-0.10.2.0.jar  kafka-emitter-0.11.0.jar  lz4-1.3.0.jar  slf4j-api-1.6.4.jar  snappy-java-1.1.2.6.jar

[root@gpsegment1 druid-0.11.0]# grep "kafka-emitter" /opt/druid-0.11.0/conf/druid/_common/common.runtime.properties 
druid.extensions.loadList=["druid-hdfs-storage", "kafka-emitter", "druid-caffeine-cache", "druid-kafka-indexing-service", "mysql-metadata-storage", "druid-datasketches", "druid-histogram"]

[root@gpsegment1 druid-0.11.0]# grep "emitter.kafka" /opt/druid-0.11.0/conf/druid/_common/common.runtime.properties 
druid.emitter=kafka
druid.emitter.logging.logLevel=info
druid.emitter.kafka.bootstrap.servers=192.168.1.115:9092
druid.emitter.kafka.metric.topic=druid-metrics-monitor
druid.emitter.kafka.alert.topic=druid-metrics-alert
druid.emitter.kafka.producer.config={"max.block.ms":10000}
```

## When i start the service ,error occur.but under version 0.10.0, kafka-emitter works normally.my kafka version is 0.10.2. Is this a bug?
2017-12-27T15:55:43,216 INFO [main] io.druid.guice.JsonConfigurator - Loaded class[class io.druid.curator.ExhibitorConfig] from props[druid.exhibitor.service.] as [io.druid.curator.ExhibitorConfig@20a7953c]
2017-12-27T15:55:43,337 INFO [main] org.apache.curator.utils.Compatibility - Running in ZooKeeper 3.4.x compatibility mode
2017-12-27T15:55:43,340 WARN [main] org.apache.curator.retry.ExponentialBackoffRetry - maxRetries too large (30). Pinning to 29
2017-12-27T15:55:43,416 INFO [main] io.druid.guice.JsonConfigurator - Loaded class[class io.druid.server.initialization.ZkPathsConfig] from props[druid.zk.paths.] as [io.druid.server.initialization.ZkPathsConfig@22e2266d]
2017-12-27T15:55:43,460 INFO [main] io.druid.guice.JsonConfigurator - Loaded class[interface io.druid.server.security.Escalator] from props[druid.escalator.] as [io.druid.server.security.NoopEscalator@78422efb]
2017-12-27T15:55:43,480 INFO [main] io.druid.guice.JsonConfigurator - Loaded class[class io.druid.server.security.AuthConfig] from props[druid.auth.] as [AuthConfig{authenticatorChain='null', authorizers='null'}]
Exception in thread "main" com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Problem parsing object at prefix[druid.emitter.kafka]: Instantiation of [simple type, class io.druid.emitter.kafka.KafkaEmitterConfig] value failed: bootstrap.servers can not be null.
  at io.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:133) (via modules: com.google.inject.util.Modules$OverrideModule -> io.druid.emitter.kafka.KafkaEmitterModule)
  at io.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:133) (via modules: com.google.inject.util.Modules$OverrideModule -> io.druid.emitter.kafka.KafkaEmitterModule)
  while locating com.google.common.base.Supplier<io.druid.emitter.kafka.KafkaEmitterConfig>
  at io.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:134) (via modules: com.google.inject.util.Modules$OverrideModule -> io.druid.emitter.kafka.KafkaEmitterModule)
  while locating io.druid.emitter.kafka.KafkaEmitterConfig
    for the 1st parameter of io.druid.emitter.kafka.KafkaEmitterModule.getEmitter(KafkaEmitterModule.java:56)
  at io.druid.emitter.kafka.KafkaEmitterModule.getEmitter(KafkaEmitterModule.java:56) (via modules: com.google.inject.util.Modules$OverrideModule -> io.druid.emitter.kafka.KafkaEmitterModule)
  while locating com.metamx.emitter.core.Emitter annotated with @com.google.inject.name.Named(value=kafka)
  at io.druid.server.emitter.EmitterModule$EmitterProvider.inject(EmitterModule.java:118)
  at io.druid.server.emitter.EmitterModule.configure(EmitterModule.java:78) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> io.druid.server.emitter.EmitterModule)

1 error
        at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470)
        at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:176)
        at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
        at com.google.inject.Guice.createInjector(Guice.java:99)
        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:401)
        at io.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:62)
        at io.druid.cli.ServerRunnable.run(ServerRunnable.java:49)
        at io.druid.cli.Main.main(Main.java:108)
Caused by: java.lang.IllegalArgumentException: Instantiation of [simple type, class io.druid.emitter.kafka.KafkaEmitterConfig] value failed: bootstrap.servers can not be null
        at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:2774)
        at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:2700)
        at io.druid.guice.JsonConfigurator.configurate(JsonConfigurator.java:103)
        at io.druid.guice.JsonConfigProvider.get(JsonConfigProvider.java:200)
        at io.druid.guice.JsonConfigProvider.get(JsonConfigProvider.java:80)
        at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
        at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015)
        at io.druid.guice.SupplierProvider.get(SupplierProvider.java:52)
        at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
        at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
        at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
        at com.google.inject.internal.ProviderMethod$Factory.provision(ProviderMethod.java:402)
        at com.google.inject.internal.ProviderMethod$Factory.get(ProviderMethod.java:376)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at io.druid.guice.LifecycleScope$1.get(LifecycleScope.java:68)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015)
        at io.druid.server.emitter.EmitterModule$EmitterProvider.findEmitter(EmitterModule.java:142)
        at io.druid.server.emitter.EmitterModule$EmitterProvider.inject(EmitterModule.java:120)
        at io.druid.server.emitter.EmitterModule$EmitterProvider$$FastClassByGuice$$622b285e.invoke(<generated>)
        at com.google.inject.internal.SingleMethodInjector$1.invoke(SingleMethodInjector.java:54)
        at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:89)
        at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
        at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:93)
        at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:80)
        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1085)
        at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)
        at com.google.inject.internal.Initializer$InjectableReference.get(Initializer.java:223)
        at com.google.inject.internal.Initializer.injectAll(Initializer.java:132)
        at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:174)
        ... 8 more
```
Reply all
Reply to author
Forward
0 new messages