Исключение SSH в потоке "main" java.lang.NoClassDefFoundError: org / apache / hadoop / fs / FSDataInputStream - PullRequest
0 голосов
/ 10 октября 2019

Я новичок в использовании серверов. На моем компьютере у меня нет проблем с использованием Apache Spark. Обычно я использую IntelliJ для запуска кода.

Я попытался на внешнем сервере ssh запустить проект, и у меня появляется ошибка:

Исключение в потоке "main" java.lang.NoClassDefFoundError: org / apache / hadoop / fs / FSDataInputStream at org.apache.spark.sql.SparkSession $ .org $ apache $ spark $ sql $ SparkSession $$ assertOnDriver (SparkSession.scala: 1086) в org.apache.ark. sql.SparkSession $ Builder.getOrCreate (SparkSession.scala: 902) в com.p53.main (p53.java:42) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImplImplImpl (Java: 62) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:498) в com.intellij.rt.execution.application.AppM(AppMainV2.java:131) Причина: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FSDataInputStream в java.net.URLClassLoader.findClass (URLClassLoader.java:381) в java.lang.ClassLoader.loadClass (ClassLoader.java:424) в sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:331) в java.lang.ClassLoader.loadClass (ClassLoader.java:357) ... еще 8

Когда я запускаю в терминале (/ usr / local / spark / bin / spark-shell), Spark работает нормально.

Мои зависимости pom:

dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.4.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>2.4.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_2.11</artifactId>
            <version>2.4.3</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>3.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>3.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>3.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-catalyst_2.11</artifactId>
            <version>2.4.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_2.11</artifactId>
            <version>2.4.3</version>
        </dependency>
    </dependencies>

Pom plugins:

plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <archive>
                        <manifest>
                            <mainClass>Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>

Я знаю, что делаю что-то не так или чего-то не хватает, но я просто не понимаю, в чем проблема.

1 Ответ

0 голосов
/ 10 октября 2019

Вам необходимо установить SPARK_DIST_CLASSPATH.

export SPARK_DIST_CLASSPATH=`hadoop classpath`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...