我在Eclipse中使用Hadoop-1.0.1.我正在尝试运行wordcount应用程序但是当我运行我的WordCount.java时,Eclipse会向我显示以下错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:143)
    at test.WordCount.main(WordCount.java:56)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    ... 2 more
我的hadoop-core-1.0.1.jar classpath.应用程序是否需要更多jar
您似乎收到此错误,因为两个重要的日志记录类commons-logging-1.1.1.jar和commons-logging-api-1.0.4.jar与常见日志记录相关,或者您从类路径中找不到,或者您只是没有它.
在大多数情况下,这些文件与其他Hadoop Jar一起位于\ lib文件夹中,因此当您设置类路径时,可以访问这些jar.请验证您的计算机中是否包含这些文件,并将其设置在类路径中以便可以访问它们.
此外,当您运行"hadoop version"时,版本会出现,同样的hadoop-core - SNAPSHOT.jar必须位于$ HADOOP_HOME位置.
您提到您正在运行WordCount.java,而应该说您正在运行WordCount作业,因为您始终将已编译的应用程序用作jar而不是java.
$ bin/hadoop jar /usr/jboss/wordcount.jar org.myhadoop.WordCount/usr/jboss/wordcount/input/usr/jboss/wordcount/output
| 归档时间: | 
 | 
| 查看次数: | 10432 次 | 
| 最近记录: |