2017-09-02 118 views
-1

我使用的是卡夫卡版本0.11.0.0,並試圖建立由Avro的加載數據的輸入流file.But它與異常實例化生產者未按:無法構造卡夫卡生產者

[main] INFO org.apache.kafka.clients.producer.KafkaProducer - Closing the Kafka producer with timeoutMillis = 0 ms. 
Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to construct kafka producer 
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:415) 
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:287) 
    at wordcount.PayloadProducer.produceInputs(PayloadProducer.java:42) 
    at wordcount.PayloadProducer.main(PayloadProducer.java:24) 
Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonProcessingException 
    at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.<init>(CachedSchemaRegistryClient.java:47) 
    at io.confluent.kafka.serializers.AbstractKafkaAvroSerDe.configureClientProperties(AbstractKafkaAvroSerDe.java:73) 
    at io.confluent.kafka.serializers.AbstractKafkaAvroSerializer.configure(AbstractKafkaAvroSerializer.java:42) 
    at io.confluent.kafka.serializers.KafkaAvroSerializer.configure(KafkaAvroSerializer.java:48) 
    at org.apache.kafka.common.serialization.ExtendedSerializer$Wrapper.configure(ExtendedSerializer.java:60) 
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:336) 
    ... 3 more 
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.core.JsonProcessingException 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 9 more 

我「M以下鏈接對我的工作:Confluent kafka stream example

代碼實例製作:

final Properties props = new Properties(); 
      props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); 
      props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class); 
      props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, 
        io.confluent.kafka.serializers.KafkaAvroSerializer.class); 
      props.put(AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG, schemaRegistryUrl); 

      GenericRecordBuilder pageViewBuilder = new GenericRecordBuilder(loadSchema("payload.avsc")); 

      KafkaProducer<String, GenericRecord> producer = new KafkaProducer<>(props); 

回答

0

如前所述例外,你錯過com.fasterxml.jackson.core.JsonProcessingException

您是否克隆存儲庫,或者您只是複製粘貼代碼?你需要一個正確的.pom,像這樣: https://github.com/confluentinc/examples/blob/3.3.0-post/kafka-streams/pom.xml 其中包括所有正確的依賴關係,包括傑克遜。

我建議克隆存儲庫(至少從這裏輸入:https://github.com/confluentinc/examples/tree/3.3.0-post/kafka-streams),並按照README中所述的命令和要求開始。

+0

我克隆了回購,然後這個例外。 –

相關問題