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ディレクトリにアップロードすることで解決されます。