gpt4 book ai didi

apache-spark - Spark Streaming + Kafka : SparkException: Couldn't find leader offsets for Set

转载 作者:行者123 更新时间:2023-12-04 00:58:12 33 4
gpt4 key购买 nike

我正在尝试设置 Spark Streaming 以从 Kafka 队列中获取消息。我收到以下错误:

py4j.protocol.Py4JJavaError: An error occurred while calling o30.createDirectStream.
: org.apache.spark.SparkException: java.nio.channels.ClosedChannelException
org.apache.spark.SparkException: Couldn't find leader offsets for Set([test-topic,0])
at org.apache.spark.streaming.kafka.KafkaCluster$$anonfun$checkErrors$1.apply(KafkaCluster.scala:366)
at org.apache.spark.streaming.kafka.KafkaCluster$$anonfun$checkErrors$1.apply(KafkaCluster.scala:366)
at scala.util.Either.fold(Either.scala:97)

这是我正在执行的代码(pyspark):
from pyspark.streaming import StreamingContext
from pyspark.streaming.kafka import KafkaUtils

directKafkaStream = KafkaUtils.createDirectStream(ssc, ["test-topic"], {"metadata.broker.list": "host.domain:9092"})

ssc.start()
ssc.awaitTermination()

有几个类似的帖子有同样的错误。在所有情况下,原因都是空的 kafka 主题。我的“测试主题”中有消息。我可以把它们弄出来
kafka-console-consumer --zookeeper host.domain:2181 --topic test-topic --from-beginning --max-messages 100

有谁知道可能是什么问题?

我正在使用:
  • Spark 1.5.2 (apache)
  • 卡夫卡 0.8.2.0+卡夫卡1.3.0 (CDH 5.4.7)
  • 最佳答案

    你需要检查两件事:

  • 检查此主题和分区是否存在,在您的情况下,主题是 test-topic分区为 0。
  • 根据您的代码,您正在尝试从偏移量 0 使用消息,并且可能无法从偏移量 0 获得消息,请检查您最早的偏移量是什么,然后尝试从那里消费。

  • 以下是检查最早偏移量的命令:
    sh kafka/bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list "your broker list" --topic "topic name" --time -1 

    关于apache-spark - Spark Streaming + Kafka : SparkException: Couldn't find leader offsets for Set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34288449/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com