【问题标题】:Getting an error while trying to run a simple spark streaming kafka example尝试运行简单的火花流 kafka 示例时出错
【发布时间】:2017-02-10 22:20:57
【问题描述】:

我正在尝试运行一个简单的 kafka spark 流示例。这是我得到的错误。

16/10/02 20:45:43 信息 SparkEnv:注册 OutputCommitCoordinator 线程“主”java.lang.NoSuchMethodError 中的异常: scala.Predef$.$scope()Lscala/xml/TopScope$;在 org.apache.spark.ui.jobs.StagePage.(StagePage.scala:44) 在 org.apache.spark.ui.jobs.StagesTab.(StagesTab.scala:34) 在 org.apache.spark.ui.SparkUI.(SparkUI.scala:62) 在 org.apache.spark.ui.SparkUI$.create(SparkUI.scala:215) 在 org.apache.spark.ui.SparkUI$.createLiveUI(SparkUI.scala:157) 在 org.apache.spark.SparkContext.(SparkContext.scala:443) 在 org.apache.spark.streaming.StreamingContext$.createNewSparkContext(StreamingContext.scala:836) 在 org.apache.spark.streaming.StreamingContext.(StreamingContext.scala:84) 在 org.apache.spark.streaming.api.java.JavaStreamingContext.(JavaStreamingContext.scala:138) 在 com.application.SparkConsumer.App.main(App.java:27)

我正在使用以下 pom.xml 设置此示例。我试图找到这个缺少的 scala.Predef 类,并添加了 spark-streaming-kafka-0-8-assembly 缺少的依赖项,当我探索这个 jar 时我可以看到该类。

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.11</artifactId>
    <version>0.8.2.0</version>
</dependency>
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>0.8.2.0</version>
</dependency>
<dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.11</artifactId>
      <version>2.0.0</version>
      <scope>provided</scope>
</dependency>
<dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-streaming_2.11</artifactId>
      <version>2.0.0</version>
      <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming-kafka-0-8_2.11</artifactId>
    <version>2.0.0</version>
</dependency>
<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>2.11.0</version>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming-kafka-0-8-assembly_2.11</artifactId>
    <version>2.0.0</version>
</dependency>

我尝试了一个简单的 spark 字数统计示例,效果很好。当我使用这个 spark-streaming-kafka 时,我遇到了麻烦。我试图查找此错误,但没有运气。

这里是代码sn-p。

        SparkConf sparkConf = new SparkConf().setAppName("someapp").setMaster("local[2]");
        // Create the context with 2 seconds batch size
        JavaStreamingContext jssc = new JavaStreamingContext(sparkConf, new Duration(2000));

        int numThreads = Integer.parseInt(args[3]);
        Map<String, Integer> topicMap = new HashMap<String,Integer>();
        topicMap.put("fast-messages", 1);
        Map<String, String> kafkaParams = new HashMap<String,String>();
        kafkaParams.put("metadata.broker.list", "localhost:9092");
        JavaPairReceiverInputDStream<String, String> messages = 
        KafkaUtils.createStream(jssc,"zoo1","my-consumer-group", topicMap); 

【问题讨论】:

    标签: scala spark-streaming


    【解决方案1】:

    当我使用 0.8.2.0 kafka 的 2.11 时似乎有问题。切换到 2.10 后运行良好。

    【讨论】:

      猜你喜欢
      • 2017-08-18
      • 2016-08-05
      • 2020-08-18
      • 2020-10-25
      • 2017-04-27
      • 2016-09-23
      • 2016-02-03
      • 1970-01-01
      • 2012-05-13
      相关资源
      最近更新 更多