hadoop - 在hadoop job jar的 "lib"文件夹下打包依赖库时,遇到ClassNotFoundException

标签 hadoop classnotfoundexception

我曾经将依赖库打包在 Hadoop map-reduce 作业 jar 的“lib”文件夹中。那很好用。但这一次却出错了。有人可以给我一些解决问题的想法吗?问题如下:

当我使用 Eclipse“导出”功能和“将所需库提取到生成的 JAR”选项打包作业 jar 时。生成的作业 jar 工作正常。

但是如果我用 ant-script 打包作业 jar 以将依赖库包含在作业 jar 的“lib”文件夹中,我遇到了 ClassNotFoundException:

java.io.IOException: Split class cascading.tap.hadoop.MultiInputSplit not found
        at org.apache.hadoop.mapred.MapTask.getSplitDetails(MapTask.java:340)
        at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:365)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:325)
        at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:396)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1127)
        at org.apache.hadoop.mapred.Child.main(Child.java:264)
    Caused by: java.lang.ClassNotFoundException: cascading.tap.hadoop.MultiInputSplit
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:943)
        at org.apache.hadoop.mapred.MapTask.getSplitDetails(MapTask.java:338)
        ... 7 more

任何人都可以提供一些想法吗?

最佳答案

post会解决您的问题。

关于hadoop - 在hadoop job jar的 "lib"文件夹下打包依赖库时,遇到ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9885227/

相关文章:

plugins - Protege OntoGraf 插件无法工作

java - GWT/ eclipse : ClassNotFoundException com/google/gwt/dev/Compiler

hadoop - 映射减少作业 : Protobuf related error

hadoop - 在 hadoop 中运行数独求解器示例

date - Hive 数据类型混淆

hadoop - 为 julia 安装 HDFS 接口(interface)包

android - 你如何在 Android 库项目中引用类

java - 如何从具有相同结构的不同 jar 解析我的类

hadoop - Elastic Map Reduce JSON导出到DynamoDB错误AttributeValue可能不包含空字符串

java - java.lang.NoClassDefFoundError org.apache.hadoop.hbase.mapreduce.ImportTsv