首先:这是要提交的应用程序jar文件:
$ls -rlta /shared/ysgood/target/yardstick-spark-uber-0.0.1.jar
-rw-r--r-- 1 steve staff 138611565 Aug 6 01:41 /shared/ysgood/target/yardstick-spark-uber-0.0.1.jar
以下是要提交的课程:
01:55:02/ysgood $jar -tvf target/yardstick-spark-uber-0.0.1.jar | grep SparkCoreRDDBenchmark.class
15091 Thu Aug 06 01:36:30 PDT 2015 org/yardstick/spark/SparkCoreRDDBenchmark.class
以下是提交的尝试:
$spark-submit --master $MASTER --class org.yardstick.spark.SparkCoreRDDBenchmark target/yardstick-spark-uber-0.0.1.jar
NOTE: SPARK_PREPEND_CLASSES is set, placing locally compiled Spark classes ahead of assembly.
Error: Cannot load main class from JAR
file:/shared/ysgood/org.yardstick.spark.SparkCoreRDDBenchmark
关于错误:请注意jar的路径不正确:以下
/shared/ysgood/org.yardstick.spark.SparkCoreRDDBenchmark
没有意义:它缺少jar文件的路径
目标/尺度-火花尤伯杯0.0.1.jar
答案 0 :(得分:0)
在-class之后,您必须将主类的包放入主类的路径中。因此,请检查代码中的SparkCoreRDDBenchmark类是否在org.yardstick.spark包中。 如果是,那么尝试运行没有Spark的jar,看看是否收到错误无法加载主类。当罐子被创建时,也许存在一些问题。 祝你好运!