gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 14:41:53 25 4
gpt4 key购买 nike

我曾经将依赖库打包在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com