EMR ClassNotFoundException java中的Spark提交
我已经绑定了一个spring引导应用程序,在这个应用程序中我创建了spark会话来执行一些操作 然后我将这个jar发送给AWS EMR,并以EMR ClassNotFoundException java中的Spark提交,java,apache-spark,amazon-emr,Java,Apache Spark,Amazon Emr,我已经绑定了一个spring引导应用程序,在这个应用程序中我创建了spark会话来执行一些操作 然后我将这个jar发送给AWS EMR,并以spark submit或java-jar不工作的可执行文件的形式运行 这是我在使用usjar-tf 当尝试运行 spark-submit --master yarn --deploy-mode client --driver-memory 10G --executor-memory 15G --class com.ati.media.ref.scd.Sch
spark submit
或java-jar
不工作的可执行文件的形式运行
这是我在使用usjar-tf
当尝试运行
spark-submit --master yarn --deploy-mode client --driver-memory 10G --executor-memory 15G --class com.ati.media.ref.scd.ScheduleApplication
我认为错误是错误
java.lang.ClassNotFoundException: com.ati.media.ref.scd.ScheduleApplication
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
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:235)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:836)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:197)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:227)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:136)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
当我尝试使用
java-jar
应用程序启动时没有任何问题
java-cp
导致与spark submit相同的错误,未找到主计算
这里出了什么问题。我在ScheduleApplication中有主要功能,您需要指定
--jars
或在集群级别配置extrac jars位置
从:
引导操作或自定义配置正在重写该类
路径。发生这种情况时,类加载器仅拾取JAR文件
存在于配置中指定的位置中的
解决此问题的选项很少:
1) 使用jar的路径指定--jars
:
spark-submit --deploy-mode client --class org.apache.spark.examples.SparkPi --master yarn spark-examples.jar 100 --jars /home/hadoop/extrajars/*
2) 将自定义JAR(包含缺少的类)的路径添加到Spark类路径
在/etc/spark/conf/spark defaults.conf中,将自定义JAR的路径附加到错误堆栈跟踪中指定的类名中。在下面的示例中,/home/hadoop/extrajars/*是自定义JAR路径
例如(如何修改正在运行的群集):
有关更多信息,或如何在新群集上执行此操作,请参阅
spark-submit --deploy-mode client --class org.apache.spark.examples.SparkPi --master yarn spark-examples.jar 100 --jars /home/hadoop/extrajars/*
sudo vim /etc/spark/conf/spark-defaults.conf
spark.driver.extraClassPath :/home/hadoop/extrajars/*
spark.executor.extraClassPath :/home/hadoop/extrajars/*