Я пытаюсь выполнить spark-submit на cloudera Quickstart VM. Я создал Jar-файл, который содержит основной класс. Когда я отправляю его на виртуальную машину, он выдает ошибку класса not found, как показано ниже.
20/01/07 13:45:09 ERROR yarn.ApplicationMaster: Uncaught exception:
java.lang.ClassNotFoundException: Third
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
JAR-файл имеет этот класс
[cloudera@quickstart jobjars]$ jar tf SparkProd.jar | grep Third
Third$.class
Third$delayedInit$body.class
Third.class
org/apache/commons/math3/stat/descriptive/moment/ThirdMoment.class
Команда Spark Submit, как показано ниже
/usr/bin/spark2-submit --master yarn --class Third --deploy-mode client
/home/cloudera/Yogesh/jobjars/SparkProd.jar
Фрагмент кода, как показано ниже Этот класс является простым классом для создания сеанса спарка
import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession
object Third extends App {
print("Hello Yogesh")
val spark = SparkSession.builder().appName("Sample1")
.master("yarn")
.getOrCreate()
}
Путь к файлу MANIFEST.MF
C:\Users\91954\IdeaProjects\SparkProd\src\main\resources\META-INF\MANIFEST.MF
Содержимое файла MANIFEST.MF
Manifest-Version: 1.0
Main-Class: Third
Я испробовал все опции, которые упоминаются в решениях для аналогичного вопроса.