1

我正在运行 Samza 以使用 Scala 中给定 Kafka 主题的消息。为了运行,我创建了一个 samza-read.properties 文件,其中包含:

systems.kafka.samza.factory=org.apache.samza.system.kafka.KafkaSystemFactory
systems.kafka.samza.msg.serde=byte
systems.kafka.consumer.auto.offset.reset=largest
systems.kafka.consumer.zookeeper.connect=localhost:2181/
systems.kafka.producer.bootstrap.servers=localhost:9092

然而,当我运行我的程序时,我不断收到异常: java.lang.NoClassDefFoundError: kafka/common/ReplicaNotAvailableException at org.apache.samza.system.kafka.KafkaSystemFactory.getAdmin(KafkaSystemFactory.scala:106)

我相信这必须处理,systems.kafka.samza.factory=org.apache.samza.system.kafka.KafkaSystemFactory但也许有人以前曾遇到过这个例外。任何帮助是极大的赞赏!

4

1 回答 1

1

看起来您的构建存在以下问题之一:

  • 您在类路径中缺少 Kafka jar(例如:org.apache.kafka_kafka_.jar)

  • getAdmin您的类路径中的 Kafka jar 版本与预期的不兼容

  • 您可能有 2 个版本的 Kafka jar(一个正确 + 一个不正确)并且 JVM 选择了不正确的版本(此处的修复是在您的构建中排除错误版本)

于 2019-10-12T15:02:07.760 回答