Hüs*_*ucu 5 java noclassdeffounderror oozie
我正在尝试安装 oozie 并收到此错误。我有 hadoop 2.7.1、maven 3.3.3。对此有任何建议吗?
huseyin@ubuntu:~$ '/usr/local/oozie/oozie/Oozie/oozie-4.3.0-SNAPSHOT/bin/oozie-setup.sh' sharelib create -fs hdfs://hadoopcluster:10000 setting CATALINA_OPTS="$ CATALINA_OPTS -Xmx1024m"
错误:发生 JNI 错误,请检查您的安装并重试线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration 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) 引起:java.lang.ClassNotFoundException: org.apache .hadoop.conf.Configuration at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 更多
您需要将 oozie 所需的所有 jar 添加到工作目录 (oozie-4.3.0-SNAPSHOT) 中名为 libext 的新文件夹中,请检查oozie 文档中的以下段落
默认情况下,oozie war 不包含 hadoop 和 hcatalog 库,但是 oozie 需要它们才能工作。
有 2 个选项可以添加这些库:
安装时,将 hadoop 和 hcatalog 库复制到 libext 并运行 oozie-setup.sh 来设置 oozie war。
使用 -Puber 构建,它将捆绑 oozie 战争中所需的库。
所以要解决这个问题,你需要:
1- 在 Oozie 展开的目录中创建 libext/ 目录。
2- 如果使用 ExtJS 库,请将 ZIP 文件复制到 libext/ 目录。
3-如果 hadoop 和 hcatalog 库尚未包含在 war 中,请将相应的库添加到 libext/ 目录中。(在您的情况下),您只需将 hadoop 项目中的所有 jar 复制到 libext 文件夹即可。
重要提示:libext 文件夹中的 jar 版本应与构建过程中安装的版本相匹配。
您可以在构建过程中使用的 pom 文件中找到下载的版本。