KafkaAvroDeserializer-NoClassDefFoundError:io / confluent / common / config / ConfigException

时间:2018-08-29 09:57:13

标签: java exception apache-kafka spark-streaming confluent

我正在使用spark从主题kafka中获取数据。我必须使用KafkaAvroDeserialaizer反序列化器avro数据。我将kafka用户配置为:

 kafkaParams.put("bootstrap.servers", "10.0.4.215:9092");
 kafkaParams.put("key.deserializer", io.confluent.kafka.serializers.KafkaAvroDeserializer.class);
 kafkaParams.put("value.deserializer",io.confluent.kafka.serializers.KafkaAvroDeserializer.class);
 // kafkaParams.put("key.convert", com.datamountaineer.streamreactor.connect.converters.source.JsonSimpleConverter.class);
 //kafkaParams.put("value.convert",com.datamountaineer.streamreactor.connect.converters.source.JsonSimpleConverter.class);
 kafkaParams.put("group.id", "use_a_separate_group_id_for_each_stream");
 kafkaParams.put("auto.offset.reset", "earliest");
 kafkaParams.put("enable.auto.commit", false);

但是当我执行代码时,我在线程中有此异常

  

“流启动” java.lang.NoClassDefFoundError:   io / confluent / common / config / ConfigException

有人可以告诉我在哪里可以找到此类def吗?例如,maven依赖扩展。

2 个答案:

答案 0 :(得分:0)

您需要以下依赖项: 组:“ io.confluent”,名称:“ common-config”,版本:yourConfluentVersion

答案 1 :(得分:0)

我有同样的问题。我使用了5.1.0融合平台版本。我检查了compatibility kafka <-> confluent,发现具有相同兼容性级别的较新版本。我将版本更新为5.1.1,并为我解决了该问题。

例如:

enter image description here