Python 2.7 java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class
我正在尝试实现ApacheKafka和spark流媒体集成 以下是我的python代码:Python 2.7 java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class,python-2.7,apache-spark,apache-kafka,pyspark,Python 2.7,Apache Spark,Apache Kafka,Pyspark,我正在尝试实现ApacheKafka和spark流媒体集成 以下是我的python代码: from __future__ import print_function import sys from pyspark.streaming import StreamingContext from pyspark import SparkContext,SparkConf from pyspark.streaming.kafka import KafkaUtils if __name__ == "__
from __future__ import print_function
import sys
from pyspark.streaming import StreamingContext
from pyspark import SparkContext,SparkConf
from pyspark.streaming.kafka import KafkaUtils
if __name__ == "__main__":
#conf = SparkConf().setAppName("Kafka-Spark").setMaster("spark://127.0.0.1:7077")
conf = SparkConf().setAppName("Kafka-Spark")
#sc = SparkContext(appName="KafkaSpark")
sc = SparkContext(conf=conf)
stream=StreamingContext(sc,1)
map1={'demo':1}
kafkaStream = KafkaUtils.createStream(stream, 'localhost:2181', "test-consumer-group", map1)
# kafkaStream = KafkaUtils.createStream(stream, 'localhost:2181', "name", map1) #tried with localhost:2181 too
lines = kafkaStream.map(lambda x: x[1])
counts = lines.flatMap(lambda line: line.split(" "))
.map(lambda word: (word, 1)) \
.reduceByKey(lambda a, b: a+b)
counts.pprint()
stream.start()
stream.awaitTermination()
当我运行上述程序时,它会在终端上显示输出:
16/10/24 15:27:20错误执行者:任务0.0在阶段0.0(TID 0)中出现异常
java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class
在卡夫卡。乌提斯。普尔。(普尔。斯卡拉:28)
在卡夫卡。消费者。ZookeeperConsumerConnector。(ZookeeperConsumerConnector.scala:91)
在卡夫卡。消费者。ZookeeperConsumerConnector。(ZookeeperConsumerConnector.scala:143)
位于kafka.consumer.consumer$.create(ConsumerConnector.scala:94)
在org.apache.spark.streaming.kafka.KafkaReceiver.onStart上(KafkaInputDStream.scala:100)
位于org.apache.spark.streaming.receiver.ReceiverSupervisor.startReceiver(ReceiverSupervisor.scala:149)
位于org.apache.spark.streaming.receiver.ReceiverSupervisor.start(ReceiverSupervisor.scala:131)
在org.apache.spark.streaming.scheduler.ReceiverTracker$ReceiverTrackerEndpoint$$anonfun$9.apply(ReceiverTracker.scala:597)上
在org.apache.spark.streaming.scheduler.ReceiverTracker$receivertrackerdpoint$$anonfun$9.apply(ReceiverTracker.scala:587)
位于org.apache.spark.SparkContext$$anonfun$33.apply(SparkContext.scala:1993)
位于org.apache.spark.SparkContext$$anonfun$33.apply(SparkContext.scala:1993)
位于org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:70)
位于org.apache.spark.scheduler.Task.run(Task.scala:86)
位于org.apache.spark.executor.executor$TaskRunner.run(executor.scala:274)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
运行(Thread.java:745)
原因:java.lang.ClassNotFoundException:scala.collection.GenTraversableOnce$class
位于java.net.URLClassLoader.findClass(URLClassLoader.java:381)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 还有17个
16/10/24 15:27:20错误SparkUncaughtExceptionHandler:线程[Executor task launch worker-0,5,main]中存在未捕获的异常
java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class
在卡夫卡。乌提斯。普尔。(普尔。斯卡拉:28)
在卡夫卡。消费者。ZookeeperConsumerConnector。(ZookeeperConsumerConnector.scala:91)
在卡夫卡。消费者。ZookeeperConsumerConnector。(ZookeeperConsumerConnector.scala:143)
位于kafka.consumer.consumer$.create(ConsumerConnector.scala:94)
在org.apache.spark.streaming.kafka.KafkaReceiver.onStart上(KafkaInputDStream.scala:100)
位于org.apache.spark.streaming.receiver.ReceiverSupervisor.startReceiver(ReceiverSupervisor.scala:149)
位于org.apache.spark.streaming.receiver.ReceiverSupervisor.start(ReceiverSupervisor.scala:131)
在org.apache.spark.streaming.scheduler.ReceiverTracker$ReceiverTrackerEndpoint$$anonfun$9.apply(ReceiverTracker.scala:597)上
在org.apache.spark.streaming.scheduler.ReceiverTracker$receivertrackerdpoint$$anonfun$9.apply(ReceiverTracker.scala:587)
位于org.apache.spark.SparkContext$$anonfun$33.apply(SparkContext.scala:1993)
位于org.apache.spark.SparkContext$$anonfun$33.apply(SparkContext.scala:1993)
位于org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:70)
位于org.apache.spark.scheduler.Task.run(Task.scala:86)
位于org.apache.spark.executor.executor$TaskRunner.run(executor.scala:274)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
运行(Thread.java:745)
原因:java.lang.ClassNotFoundException:scala.collection.GenTraversableOnce$class
位于java.net.URLClassLoader.findClass(URLClassLoader.java:381)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 还有17个
16/10/24 15:27:20信息流上下文:从关闭挂钩调用停止(stopGracefully=false)
16/10/24 15:27:20警告TaskSetManager:在阶段0.0中丢失了任务0.0(TID 0,localhost):java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class
在卡夫卡。乌提斯。普尔。(普尔。斯卡拉:28)
在卡夫卡。消费者。ZookeeperConsumerConnector。(ZookeeperConsumerConnector.scala:91)
在卡夫卡。消费者。ZookeeperConsumerConnector。(ZookeeperConsumerConnector.scala:143)
位于kafka.consumer.consumer$.create(ConsumerConnector.scala:94)
在org.apache.spark.streaming.kafka.KafkaReceiver.onStart上(KafkaInputDStream.scala:100)
位于org.apache.spark.streaming.receiver.ReceiverSupervisor.startReceiver(ReceiverSupervisor.scala:149)
位于org.apache.spark.streaming.receiver.ReceiverSupervisor.start(ReceiverSupervisor.scala:131)
在org.apache.spark.streaming.scheduler.ReceiverTracker$ReceiverTrackerEndpoint$$anonfun$9.apply(ReceiverTracker.scala:597)上
在org.apache.spark.streaming.scheduler.ReceiverTracker$receivertrackerdpoint$$anonfun$9.apply(ReceiverTracker.scala:587)
位于org.apache.spark.SparkContext$$anonfun$33.apply(SparkContext.scala:1993)
位于org.apache.spark.SparkContext$$anonfun$33.apply(SparkContext.scala:1993)
位于org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:70)
位于org.apache.spark.scheduler.Task.run(Task.scala:86)
位于org.apache.spark.executor.executor$TaskRunner.run(executor.scala:274)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
运行(Thread.java:745)
原因:java.lang.ClassNotFoundException:scala.collection.GenTraversableOnce$class
位于java.net.URLClassLoader.findClass(URLClassLoader.java:381)
在ja
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.6</version>
</dependency>