繁体   English   中英

Spark流和kafka缺少必需的配置“ partition.assignment.strategy”,没有默认值

[英]Spark streaming and kafka Missing required configuration “partition.assignment.strategy” which has no default value

我正在尝试使用yarn用Kafka运行Spark Streaming应用程序。 我收到以下堆栈跟踪错误-

原因:org.apache.kafka.common.config.ConfigException:缺少必需的配置“ partition.assignment.strategy”,该配置没有默认值。 在org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:124)在org.apache.kafka.common.config.AbstractConfig。(AbstractConfig.java:48)在org.apache.kafka.clients处。 org.apache.kafka.clients.consumer.KafkaConsumer上的consumer.ConsumerConfig。(ConsumerConfig.java:194),org.apache.kafka.clients.consumer.KafkaConsumer。(KafkaConsumer.java:363) ),位于org.apache.spark.streaming.kafka010.CachedKafkaConsumer。(CachedKafkaConsumer.scala:45)的org.apache.kafka.clients.consumer.KafkaConsumer。(KafkaConsumer.java:350)。 kafka010.CachedKafkaConsumer $ .get(CachedKafkaConsumer.scala:194)在org.apache.spark.streaming.kafka010.KafkaRDDIterator。(KafkaRDD.scala:252)在org.apache.spark.streaming.kafka010.KafkaRDD.compute(KafkaRDDt。 scala:212)位于org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)位于org.apache.spark.rdd.RDD.iterator(RDD.scala:288)位于org.apache.spark.rdd org.apache.spa上的.MapPartitionsRDD.compute(MapPartitionsRDD.scala:49) org.apache.spark.rdd.RDD.iterator(RDD.scala:288)上的rk.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)在org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala: 87)在org.apache.spark.scheduler.Task.run(Task.scala:109)在org.apache.spark.executor.Executor $ TaskRunner.run(Executor.scala:345)

这是我如何使用Spark Stream创建我的KafkaStream的代码的片段-

        val ssc = new StreamingContext(sc, Seconds(60))

val kafkaParams = Map[String, Object](
  "bootstrap.servers" -> "*boorstrap_url:port*",
  "security.protocol" -> "SASL_PLAINTEXT",
  "sasl.kerberos.service.name" -> "kafka",
  "key.deserializer" -> classOf[StringDeserializer],
  "value.deserializer" -> classOf[StringDeserializer],
  "group.id" -> "annotation-test",
  //Tried commenting and uncommenting this property      
  //"partition.assignment.strategy"->"org.apache.kafka.clients.consumer.RangeAssignor",
  "auto.offset.reset" -> "earliest",
  "enable.auto.commit" -> (false: java.lang.Boolean))

val topics = Array("*topic-name*")

val kafkaStream = KafkaUtils.createDirectStream[String, String](
  ssc,
  PreferConsistent,
  Subscribe[String, String](topics, kafkaParams))
val valueKafka = kafkaStream.map(record => record.value())

我经历了以下帖子-

  1. https://issues.apache.org/jira/browse/KAFKA-4547
  2. Pyspark结构化流Kafka配置错误

据此,我已经将胖罐中的kafka util jar从默认情况下从spark-stream-kafka-jar打包的0.10.1.0更新为0.10.2.0版本, 并将其作为临时依赖项。 通过将master设置为local在单节点上运行它时,我的工作也很好。 我正在运行spark 2.3.1版本。

kafka-clients-*.jar到您的Spark jar文件夹中。 kafka-clients-*.jarkafka-*/lib目录中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM