当我提交Spark Structured Streaming应用程序时,我收到以下错误:
java.lang.NoSuchMethodError:org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava / util / Collection;)
Spark version: 2.1.0使用 Scala version 2.11.1 ,OpenJDK 64位服务器VM,1.8.0_151 Kafka Version: kafka_2.12-0.10.2.1( Scala version 2.12 ,Kafka Version 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)?
1 回答
在
spark.driver.extraClassPath
中包含 spark-streaming-kafka-0-10_2.11-2.1.0.jar 在spark-submit中应该可以解决您的问题 . 大多数情况下,它与不同的scala版本无关 .例如: