CDH SPARK java.lang.NoClassDefFoundError:org / slf4j / Logger
Cdh Spark Java Lang
Sparkパスの下にbinディレクトリを入力し、。/ spark-shellを実行します
エラー:
./spark-shell 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:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more
理由:spark(/ data / cloudera / parcels / SPARK2 / lib / spark2 / jars)の下のjarsディレクトリにslf4jおよびlog4jパッケージがありません
解決策:このパスにjarパッケージを追加します
私のslf4j-log4j12は1.7.21です。私のまたは上を参照することもできます https://mvnrepository.com/ 独自のバージョンのjarパッケージを探す
1. slf4jを検索してBindingのバージョンを見つけ、クリックして対応するバージョンを見つけ、jarパッケージをダウンロードします。
2.プルダウンして、対応するlog4jおよびslf4j-apiバージョンを見つけます。以下の更新は、最新バージョンです。あなたはそれを放っておくことができます
次に、2つのjarファイルをダウンロードします
3.この問題は、3つのjarファイルをsparkのjarsディレクトリにアップロードすることで解決されます。