2017-06-20 15 views
0

我试图解决方案在现有类似职位建议,但没有为我工作:-(变得非常绝望,所以我决定发布这个作为一个新的问题。试行Cloudera的星火教程将无法正常工作“的ClassNotFoundException”

我在一个Cloudera的VM构建第一阶或Java应用程序与星火尝试了教程(下面的链接)。

这是我的火花提交命令及其输出

[[email protected] sparkwordcount]$ spark-submit --class com.cloudera.sparkwordcount.SparkWordCount --master local /home/cloudera/src/main/scala/com/cloudera/sparkwordcount/target/sparkwordcount-0.0.1-SNAPSHOT.jar 
java.lang.ClassNotFoundException: com.cloudera.sparkwordcount.SparkWordCount 
    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) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:270) 
    at org.apache.spark.util.Utils$.classForName(Utils.scala:176) 
    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) 
[[email protected] sparkwordcount]$ spark-submit --class com.cloudera.sparkwordcount.SparkWordCount --master local /home/cloudera/src/main/scala/com/cloudera/sparkwordcount/target/sparkwordcount-0.0.1-SNAPSHOT.jar 

我也尝试过更新POM .xml文件与我的实际CDH,Spark和Scala版本但仍然无法正常工作。

当我使用mvn包提取之前由maven生成的jar文件时,我无法在其文件夹分区中找到任何.class文件。

对不起,我是Cloudera和Spark的新手。我基本上试过以下教程与斯卡拉:https://blog.cloudera.com/blog/2014/04/how-to-run-a-simple-apache-spark-app-in-cdh-5/

我检查了类,文件夹和scala文件名相当密切的几个名字,特别是小/大写问题,没有什么似乎错了。

我打开我的jar,并且有一些文件层次结构,并且在最深的文件夹中我可以再次找到pom.xml文件,但是我看不到jar中任何位置的任何.class文件。这是否意味着通过“mvn package”进行的编译实际上并不奏效,即使控制台输出中说“Building”成功了吗?

+0

目标目录会在侧Cloudera的目录。请尝试 'spark-submit --class com.cloudera.sparkwordcount.SparkWordCount --master local/home/cloudera/target/sparkwordcount-0.0.1-SNAPSHOT.jar' –

+0

我试着将目标文件夹的内部jar移动到/ home/cloudera,并在尝试按照您的建议继续引发相同的异常 – ivanpc86

回答

0

我有同样的问题。尝试从

--class com.cloudera.sparkwordcount.SparkWordCount 

通过更改类名称重新运行到

--class SparkWordCount 

完整的命令我使用看起来像:

spark-submit --class SparkWordCount --master local --deploy-mode client --executor-memory 1g --name wordcount --conf "spark.app.id=wordcount" target/sparkwordcount-0.0.1-SNAPSHOT.jar /user/cloudera/inputfile.txt 2