【问题标题】:Spark Kafka - Issue while running from Eclipse IDESpark Kafka - 从 Eclipse IDE 运行时出现问题
【发布时间】:2015-11-19 03:50:17
【问题描述】:

我正在试验 Spark Kafka 集成。我想从我的 Eclipse IDE 中测试代码。但是,我收到以下错误:

java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
    at kafka.utils.Pool.<init>(Pool.scala:28)
    at kafka.consumer.FetchRequestAndResponseStatsRegistry$.<init>(FetchRequestAndResponseStats.scala:60)
    at kafka.consumer.FetchRequestAndResponseStatsRegistry$.<clinit>(FetchRequestAndResponseStats.scala)
    at kafka.consumer.SimpleConsumer.<init>(SimpleConsumer.scala:39)
    at org.apache.spark.streaming.kafka.KafkaCluster.connect(KafkaCluster.scala:52)
    at org.apache.spark.streaming.kafka.KafkaCluster$$anonfun$org$apache$spark$streaming$kafka$KafkaCluster$$withBrokers$1.apply(KafkaCluster.scala:345)
    at org.apache.spark.streaming.kafka.KafkaCluster$$anonfun$org$apache$spark$streaming$kafka$KafkaCluster$$withBrokers$1.apply(KafkaCluster.scala:342)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:35)
    at org.apache.spark.streaming.kafka.KafkaCluster.org$apache$spark$streaming$kafka$KafkaCluster$$withBrokers(KafkaCluster.scala:342)
    at org.apache.spark.streaming.kafka.KafkaCluster.getPartitionMetadata(KafkaCluster.scala:125)
    at org.apache.spark.streaming.kafka.KafkaCluster.getPartitions(KafkaCluster.scala:112)
    at org.apache.spark.streaming.kafka.KafkaUtils$.createDirectStream(KafkaUtils.scala:403)
    at org.apache.spark.streaming.kafka.KafkaUtils$.createDirectStream(KafkaUtils.scala:532)
    at org.apache.spark.streaming.kafka.KafkaUtils.createDirectStream(KafkaUtils.scala)
    at com.capiot.platform.spark.SparkTelemetryReceiverFromKafkaStream.executeStreamingCalculations(SparkTelemetryReceiverFromKafkaStream.java:248)
    at com.capiot.platform.spark.SparkTelemetryReceiverFromKafkaStream.main(SparkTelemetryReceiverFromKafkaStream.java:84)

更新: 我使用的版本是:

  • 斯卡拉 - 2.11
  • spark-streaming-kafka- 1.4.1
  • 火花 - 1.4.1

谁能解决这个问题?提前致谢。

【问题讨论】:

    标签: eclipse scala apache-spark apache-kafka


    【解决方案1】:

    您使用了错误版本的 Scala。你需要 2.10.x 每个

    https://spark.apache.org/docs/1.4.1/

    “对于 Scala API,Spark 1.4.1 使用 Scala 2.10。”

    【讨论】:

      【解决方案2】:

      帮助 OP 可能会迟到,但是当使用带有 spark 的 kafka 流时,您需要确保使用正确的 jar 文件。

      例如,就我而言,我有 scala 2.11(我正在使用的 spark 2.0 所需的最低版本),并且鉴于 kafka spark 需要 2.0.0 版本,我必须使用工件 spark-streaming-kafka-0-8-assembly_2.11-2.0.0-preview.jar

      注意我的 scala 版本和工件版本可以在 2.11-2.0.0 看到

      希望这对(某人)有所帮助

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2013-06-14
        • 1970-01-01
        • 2015-10-03
        • 1970-01-01
        • 1970-01-01
        • 2019-02-17
        • 2020-12-10
        • 2010-10-03
        • 2015-08-17
        相关资源
        最近更新 更多