首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡夫卡消费者无法订阅卡夫卡主题(通过火花流运行)

卡夫卡消费者无法订阅卡夫卡主题(通过火花流运行)
EN

Stack Overflow用户
提问于 2017-08-11 03:35:36
回答 2查看 968关注 0票数 0

创建props对象后设置使用者的代码

代码语言:javascript
复制
val consumer = new KafkaConsumer[String, String](props)
consumer.subscribe(util.Arrays.asList(topic))

代码导入如下所示

代码语言:javascript
复制
package main.scala
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
import org.apache.spark.streaming.StreamingContext
import org.apache.spark.streaming.Seconds
import org.apache.spark.streaming.kafka.KafkaUtils
import org.apache.kafka.clients.consumer.KafkaConsumer
import java.util
import java.util.Properties
import org.apache.kafka.clients.consumer.{ConsumerConfig, KafkaConsumer}
import java.io.IOException

我通过sbt创建了一个程序集jar

代码语言:javascript
复制
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.0" % "provided" 
libraryDependencies += "org.apache.spark" %% "spark-streaming" % "1.6.0" % "provided" 
libraryDependencies += "org.apache.spark" %% "spark-streaming-kafka" % "1.6.0" libraryDependencies += "org.apache.kafka" % "kafka_2.10" % "0.10.0-kafka-2.1.1"

我在这里错过了什么?

错误消息:

User类抛出异常: org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava/util/Collection;)V :java.lang.NoSuchMethodError

EN

回答 2

Stack Overflow用户

发布于 2018-01-15 11:17:51

我在Spark2.2.0和kafka 0.10.0中也有同样的问题,问题是因为在Spark2-mit(也是spak2-shell)中,kafka的默认版本不同。

我找到了决定这里

代码语言:javascript
复制
1. Before spark2-submit you have to export kafka version
$ export SPARK_KAFKA_VERSION=0.10
$ spark2-submit ...
票数 1
EN

Stack Overflow用户

发布于 2017-08-11 05:57:32

subscribe采用java.util.Collections类型的输入,而不是java.util.Arrays.asList类型。

试一试

代码语言:javascript
复制
consumer.subscribe(java.util.Arrays.asList("topic"))

应该管用的..。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45626566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档