Spark Submit не может найти основной класс из jar-файла в cloudera VM - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь выполнить 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

Я испробовал все опции, которые упоминаются в решениях для аналогичного вопроса.

...