2016-10-05 96 views
0

我意識到有這個相關的問題,但我不能讓我的代碼工作。spark-submit ClassNotFound異常與Maven

我正在獨立模式下運行Spark Streaming應用程序,其中Windows主機中的主節點和Ubuntu虛擬機中的工作人員。 這裏的問題是:當我運行火花提交,這是顯示的內容:

>spark-submit --master spark://192.168.56.1:7077 --class spark.example.Main C:/Users/Manuel Mourato/xxx/target/ParkMonitor-1.0-SNAPSHOT.jar 
Warning: Skip remote jar C:/Users/Manuel. 
java.lang.ClassNotFoundException: spark.example.Main 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:348) 
    at org.apache.spark.util.Utils$.classForName(Utils.scala:175) 
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:689) 
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 

我創建了Maven的這個jar文件,在使用的IntelliJ「包」。 這是我怎麼設置我的SparkStreaming語境:

SparkConf sparkConfiguration= new SparkConf().setAppName("ParkingDataAnalysis").setMaster("spark://192.168.56.1:7077"); 
JavaStreamingContext sparkStrContext=new JavaStreamingContext(sparkConfiguration, Durations.seconds(1)); 

誰能幫助我?非常感謝。

回答

1

你必須在文件夾名稱空間,請加引號(「),然後再試一次

spark-submit --master spark://192.168.56.1:7077 --class spark.example.Main "C:/Users/Manuel Mourato/xxx/target/ParkMonitor-1.0-SNAPSHOT.jar"

一多,從文檔:一個pplication-jar: Path to a bundled jar including your application and all dependencies. The URL must be globally visible inside of your cluster, for instance, an hdfs:// path or a file:// path that is present on all nodes.

所以,請您複製文件到HDFS或者所有節點上的位置都是相同的位置,這與Linux和Windows的組合很難;)我強烈建議設置HDFS

+0

出現同樣的錯誤,無論如何,謝謝 –

+0

@manuelmourato請參閱更新,我忘了一個,但重要的東西 –

+0

@manuelmourato您是否嘗試設置HDFS? –