java - NoClassDefFoundError: org/apache/hadoop/conf/配置

标签 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"

Error: A JNI error has occurred, please check your installation and try again Exception in thread "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) Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration 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

最佳答案

您需要将 oozie 所需的所有 jar 添加到工作目录 (oozie-4.3.0-SNAPSHOT) 中名为 libext 的新文件夹中,请查看 oozie docs 中的以下段落

By default, oozie war will not contain hadoop and hcatalog libraries, however they are required for oozie to work.

There are 2 options to add these libraries:

  1. At install time, copy the hadoop and hcatalog libraries to libext and run oozie-setup.sh to setup oozie war.

  2. Build with -Puber which will bundle the required libraries in the oozie war.

所以要解决你需要的问题:

1- 在 Oozie 展开的目录中创建一个 libext/目录。

2- 如果使用 ExtJS 库,请将 ZIP 文件复制到 libext/目录。

3- 如果 hadoop 和 hcatalog 库尚未包含在 war 中,请将相应的库添加到 libext/目录。 (在你的情况下),你可以将所有的 jar 从你的 hadoop 项目复制到 libext 文件夹。

重要说明:libext 文件夹中的 jar 版本应与构建过程中安装的版本相匹配。

您可以在构建过程中使用的 pom 文件中找到下载的版本。

关于java - NoClassDefFoundError: org/apache/hadoop/conf/配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32285197/

相关文章:

hadoop - Oozie用于多个mapreduce工作

hadoop - Oozie 协调器问题

hadoop - 使用带有 Oozie 的 sqoop 观察重复项

java - SAML LogoutRequest 到 xml 表示

android - 适用于 Android 的 Google+ 平台 - NoClassDefFoundError : com. google.android.gms.samples.plus.SignInActivity

java - 为什么我的应用程序 (.jar) 出现错误 java.lang.NoClassDefFoundError

线程 "main"java.lang.NoClassDefFoundError : javafx/application/Application 中的 JavaFX 异常

java.net.SocketException : socket failed: EACCES (Permission denied) not solved by uses-permission

java - 数字格式问题,新手项目

java - 使用 Aggregator + Redis 的死锁