2016-08-24 5 views
1

KafkaUtils.createStream();以下 は私のスパークdependency.sameのものは、古いバージョン1.5.2apacheスパークストリーミングのログの問題

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-streaming_2.11</artifactId> 
<version>2.0.0</version> 
</dependency> 
<dependency> 
<groupId>org.apache.spark</groupId> 
<artifactId>spark-streaming-kafka_2.11</artifactId> 
<version>1.6.2</version> 
</dependency> 

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/Logging 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.apache.spark.streaming.kafka.KafkaUtils$.createStream(KafkaUtils.scala:91) 
    at org.apache.spark.streaming.kafka.KafkaUtils$.createStream(KafkaUtils.scala:66) 
    at org.apache.spark.streaming.kafka.KafkaUtils$.createStream(KafkaUtils.scala:110) 
    at org.apache.spark.streaming.kafka.KafkaUtils.createStream(KafkaUtils.scala) 
    at com.tcs.iux.core.config.RealtimeProcessing.startSpark(RealtimeProcessing.java:78) 
    at com.tcs.iux.core.processor.StartRealTimeProcessing.main(StartRealTimeProcessing.java:32) 
Caused by: java.lang.ClassNotFoundException: org.apache.spark.Logging 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 18 more 
+1

任意の理由をストリーミング(2.0.0)とカフカストリーミング(1.6.2)の2つの異なるバージョンを使用していますか?それらのバージョンは整列する必要があります。 –

答えて

0

Logging was made private in Spark 2.0

あなたの火花でそれを一致させるためにspark-streaming-kafka_2.11の2.0.0バージョンを使用してストリーミングスパークで働いていたありますバージョン。

<dependency> 
<groupId>org.apache.spark</groupId> 
<artifactId>spark-streaming-kafka_2.11</artifactId> 
<version>2.0.0</version> 
</dependency> 
+0

最新のspark-streaming-kafka_2.11バージョンの最新バージョンは1.60.2 –

+0

と思われます。数日前にスパークアセンブリを構築することを覚えています。スパークストリーミング-kafka_2.10-2.0.0-SNAPSHOT.jarが公開を停止している可能性がありますそれはメイベンレポに、Yuvalの答えを参照してください、それは新しい名前についての詳細があります。 – banjara

+0

おかげ問題は、依存 –

0

あなたはSparkのバージョン間でミックスしていますが、これは決して良い考えではありません。あなたはSpark Streamingと外部のKafkaドライバの両方に整列する必要があります。

依存関係が少し変更されました。現在、Kafka 0.10.0.xの実験的サポートがあります。あなたはカフカの0.8.2.xを使用している場合は、必要があります

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-streaming-kafka-0-8_2.11</artifactId> 
    <version>2.0.0</version> 
</dependency> 

あなたはカフカの0.10.0.xを試してみたい場合は、あなたが必要です:

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-streaming-kafka-0-10_2.11</artifactId> 
    <version>2.0.0</version> 
</dependency>