복붙노트

[HADOOP] 하둡이없는 불꽃 : 발사 실패

HADOOP

하둡이없는 불꽃 : 발사 실패

나는 Ubuntu 16.04에서 Spark 2.1.0, Hive 2.1.1 및 Hadoop 2.7.3을 실행 중입니다.

github에서 Spark 프로젝트를 다운로드하고 "without hadop"버전을 빌드합니다.

./sbin/start-master.sh를 실행하면 다음과 같은 예외가 발생합니다.

 Spark Command: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -cp /home/server/spark/conf/:/home/server/spark/jars/*:/home/server/hadoop/etc/hadoop/:/home/server/hadoop/share/hadoop/common/lib/:/home/server/hadoop/share/hadoop/common/:/home/server/hadoop/share/hadoop/mapreduce/:/home/server/hadoop/share/hadoop/mapreduce/lib/:/home/server/hadoop/share/hadoop/yarn/:/home/server/hadoop/share/hadoop/yarn/lib/ -Xmx1g org.apache.spark.deploy.master.Master --host ThinkPad-W550s-Lab --port 7077 --webui-port 8080
 ========================================
 Error: A JNI error has occurred, please check your installation and try again
 Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/Logger
     at java.lang.Class.getDeclaredMethods0(Native Method)
     at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
     at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
     at java.lang.Class.getMethod0(Class.java:3018)
     at java.lang.Class.getMethod(Class.java:1784)
     at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
     at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
 Caused by: java.lang.ClassNotFoundException: org.slf4j.Logger
     at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
     ... 7 more

게시물에 따라 SPARK_DIST_CLASSPATH를 편집합니다. 어디에 hadoop 2에있는 hadoop jar 파일이 있습니까?

export SPARK_DIST_CLASSPATH=~/hadoop/share/hadoop/common/lib:~/hadoop/share/hadoop/common:~/hadoop/share/hadoop/mapreduce:~/hadoop/share/hadoop/mapreduce/lib:~/hadoop/share/hadoop/yarn:~/hadoop/share/hadoop/yarn/lib

하지만 여전히 같은 오류가 발생합니다. slf4j jar 파일이 ~ / hadoop / share / hadoop / common / lib에 있음을 알 수 있습니다.

이 오류를 어떻게 해결할 수 있습니까?

고맙습니다!

해결법

  1. ==============================

    1."Hadoop free"빌드는 SPARK_DIST_CLASSPATH를 수정하여 Hadoop의 패키지 항아리를 포함해야합니다. 가장 편리한 방법은 conf / spark-env.sh에 항목을 추가하는 것입니다. export SPARK_DIST_CLASSPATH = $ (/ path / to / hadoop / bin / hadoop classpath) 이 https://spark.apache.org/docs/latest/hadoop-provided.html을 확인하십시오.

    "Hadoop free"빌드는 SPARK_DIST_CLASSPATH를 수정하여 Hadoop의 패키지 항아리를 포함해야합니다. 가장 편리한 방법은 conf / spark-env.sh에 항목을 추가하는 것입니다. export SPARK_DIST_CLASSPATH = $ (/ path / to / hadoop / bin / hadoop classpath) 이 https://spark.apache.org/docs/latest/hadoop-provided.html을 확인하십시오.

  2. from https://stackoverflow.com/questions/42307471/spark-without-hadoop-failed-to-launch by cc-by-sa and MIT license