在Eclipse中运行hadoop作业时出现异常

时间:2015-08-14 13:15:49

标签: java eclipse hadoop jar launch

我正在尝试运行Hadoop wordcount作业(我正在使用hadoop 2.6.0)。当我将项目导出到runnable jar并从CLI运行它时,它可以工作。但是,当我在Eclipse中使用" Run as java application"我收到以下例外:

  

线程中的异常" main" java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory       在org.apache.hadoop.conf.Configuration。(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)       at java.security.AccessController.doPrivileged(Native Method)       在java.net.URLClassLoader.findClass(URLClassLoader.java:354)       at java.lang.ClassLoader.loadClass(ClassLoader.java:425)       at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308)       at java.lang.ClassLoader.loadClass(ClassLoader.java:358)       ......还有2个

有人可以帮我解决这个问题吗?

4 个答案:

答案 0 :(得分:1)

我认为您没有正确配置Eclipse,并且它不知道在哪里可以找到Apache Commons库jar。从this tutorial开始,您可能会错过最后一步:

  

要从Eclipse运行测试,您还需要执行以下操作:

     
      
  • 在项目属性下,选择Java Build Path和Libraries选项卡
  •   
  • 点击"添加外部类文件夹"并选择当前项目的构建目录
  •   

您可能还想查看this other tutorial,其中显示了如何/在何处添加依赖项jar来运行Hadoop程序。

答案 1 :(得分:0)

您应该将 commons-logging-1.1.1.jar 添加到您的eclipse项目中并重新重建。

答案 2 :(得分:0)

请在/usr/local/hadoop/share/hadoop/common/lib

中添加所有.jar

答案 3 :(得分:0)

检查是否已从 usr / lib / hadoop-0.20-mapreduce / bin

添加了jar

在此添加所有罐子: Add all the jars in this

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