java—在eclipse中运行hadoop作业时出现异常

kknvjkwl  于 2021-06-03  发布在  Hadoop
关注(0)|答案(4)|浏览(445)

我正在尝试运行hadoopwordcount作业(我使用的是hadoop2.6.0)。当我将我的项目导出到runnable jar并从cli运行它时,它就工作了。但是,当我在eclipse中使用“run as java application”启动它时,我收到以下异常:
线程“main”java.lang.noclassdeffounderror中出现异常:org/apache/commons/logging/logfactory at org.apache.hadoop.conf.configuration.(配置)。java:173)在wordcount.main(wordcount。java:54)原因:java.lang.classnotfoundexception:org.apache.commons.logging.logfactory位于java.net.urlclassloader$1.run(urlclassloader)。java:366)在java.net.urlclassloader$1.run(urlclassloader。java:355)位于java.net.urlclassloader.findclass(urlclassloader)的java.security.accesscontroller.doprivileged(本机方法)。java:354)在java.lang.classloader.loadclass(classloader。java:425)在sun.misc.launcher$appclassloader.loadclass(launcher。java:308)在java.lang.classloader.loadclass(类加载器。java:358) ... 2个以上
有人能帮我解决这个问题吗?

kadbb459

kadbb4591#

检查是否添加了usr/lib/hadoop-0.20-mapreduce/bin中的jar
将所有jar添加到:

这解决了我直接从eclipse运行mapreduce程序时的问题。

f1tvaqid

f1tvaqid2#

我认为您没有正确配置eclipse,而且它不知道在哪里可以找到apachecommons库jar。在本教程中,您可能缺少最后几步:
要从eclipse运行测试,还需要执行以下操作:
在“项目属性”下,选择“java构建路径”,然后选择“库”选项卡
单击“添加外部类文件夹”,选择当前项目的生成目录
您可能还想看看另一个教程,它展示了如何/在何处添加依赖项jar来运行hadoop程序。

w41d8nur

w41d8nur3#

您应该将commons-logging-1.1.1.jar添加到您的eclipse项目中,然后再次重建。

n6lpvg4x

n6lpvg4x4#

请全部加进去 /usr/local/hadoop/share/hadoop/common/lib

相关问题