【问题标题】:Apache Kafka-Exception : org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava/util/List;)Apache Kafka-异常:org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava/util/List;)
【发布时间】:2018-08-21 04:08:00
【问题描述】:

当我提交 Spark Structured Streaming 应用程序时,出现以下错误:

java.lang.NoSuchMethodError: org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava/util/Collection;)

Spark 版本: 2.1.0 使用 Scala 版本 2.11.1,OpenJDK 64 位服务器 VM,1.8.0_151

Kafka 版本: kafka_2.12-0.10.2.1(Scala 版本 2.12,Kafka 版本 0.10.2.1)

我已将 spark-sql-kafka-0-10_2.11-2.1.0.jar 和 kafka-clients-0.10.2.1.jar 文件包含到 spark.driver.extraClassPath 和 spark.executor.extraClassPath 中

谁能帮我找出我出错的原因?

是因为 Spark 2.1.0(Scala 版本 2.11.1)和 Kafka 0.10.2.1(Scala 版本 2.12)上的 Scala 版本不同吗?如果是,那么如何在不安装 Kafka 0.10.2.1(使用 Scala 版本 2.11)的情况下解决它?

【问题讨论】:

  • 有什么建议吗?

标签: apache-spark apache-kafka


【解决方案1】:

在 spark-submit 中的 spark.driver.extraClassPath 中包含 spark-streaming-kafka-0-10_2.11-2.1.0.jar 应该可以解决您的问题。大多数情况下,它与不同的 scala 版本无关。

例如:

spark-submit \
      --conf "spark.driver.extraClassPath=/jar/path/spark-streaming-kafka-0-10_2.11-2.2.0.jar" \

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 2018-02-01
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    相关资源
    最近更新 更多