2016-10-03 11 views
0

私は簡単なカフカのスパークストリーミングの例を実行しようとしています。ここに私が得ているエラーがあります。単純なスパークストリーミングカフカの例を実行しようとしているときにエラーが発生する

16/10/02 20:45:43 INFO SparkEnv: Registering OutputCommitCoordinator Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$scope()Lscala/xml/TopScope$; at org.apache.spark.ui.jobs.StagePage.(StagePage.scala:44) at org.apache.spark.ui.jobs.StagesTab.(StagesTab.scala:34) at org.apache.spark.ui.SparkUI.(SparkUI.scala:62) at org.apache.spark.ui.SparkUI$.create(SparkUI.scala:215) at org.apache.spark.ui.SparkUI$.createLiveUI(SparkUI.scala:157) at org.apache.spark.SparkContext.(SparkContext.scala:443) at org.apache.spark.streaming.StreamingContext$.createNewSparkContext(StreamingContext.scala:836) at org.apache.spark.streaming.StreamingContext.(StreamingContext.scala:84) at org.apache.spark.streaming.api.java.JavaStreamingContext.(JavaStreamingContext.scala:138) at com.application.SparkConsumer.App.main(App.java:27)

この例では、次のpomを使用して設定しています。この欠落した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-streaming-kafkaを使用すると、私は問題を抱えています。私はこのエラーを検索しようとしましたが、運はありません。

ここにコードスニペットがあります。

 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); 

答えて

0

0.8.2.0カフカの2.11を使用したときに問題があるようです。 2.10に切り替えるとうまくいきました。

関連する問題