2015-04-07 170 views
1

我剛纔複製的火花流wodcount Python代碼,並利用火花提交給運行在星火集羣的單詞計數Python代碼,但它顯示了以下錯誤:火花提交失敗,火花流workdcount Python代碼

py4j.protocol.Py4JJavaError: An error occurred while calling o23.loadClass. 
: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtilsPythonHelper 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 

我確實構建了jar spark-streaming-kafka-assembly_2.10-1.4.0-SNAPSHOT.jar。我使用以下腳本來提交: bin/spark-submit /data/spark-1.3.0-bin-hadoop2.4/wordcount.py --master spark://192.168.100.6:7077 --jars/data /spark-1.3.0-bin-hadoop2.4/kafka-assembly/target/spark-streaming-kafka-assembly_*.jar。

在此先感謝!

回答

2

其實我才意識到你已經列入後的--jars腳本。 除非在腳本名稱之前指定了罐子,否則不會包含jar文件。所以使用spark-submit -jars spark-streaming-kafka-assembly_2.10-1.3.1.jar Script.py代替spark-submit Script.py --jars spark-streaming-kafka-assembly_2.10-1.3。 1.jar。

1

我不得不在我的命令中引用許多jar來讓它起作用,也許嘗試明確引用jars,它可能不會從您創建的jar中正確地拾取它。

   /opt/spark/spark-1.3.1-bin-hadoop2.6/bin/spark-submit --jars /root/spark-streaming-kafka_2.10-1.3.1.jar,/usr/hdp/2.2.4.2-2/kafka/libs/kafka_2.10-0.8.1.2.2.4.2-2.jar,/usr/hdp/2.2.4.2-2/kafka/libs/zkclient-0.3.jar,/root/.m2/repository/com/yammer/metrics/metrics-core/2.2.0/metrics-core-2.2.0.jar kafka_wordcount.py kafkaAddress:2181 topicName  

其實它看起來像它不是拿起這瓶:kafka_2.10-0.8.1.2.2.4.2-2.jar