在Hadoop 1.2.1上创建用于运行MapReduce的jar

在Hadoop 1.2.1上创建用于运行MapReduce的jar,hadoop,mapreduce,Hadoop,Mapreduce,我是Hadoop新手,我刚刚在我的Mac笔记本电脑(Mavericks)上安装了Hadoop 1.2.1。然后,我在IntelliJ IDEA中创建了一个简单的WordCount项目,并能够在一个虚拟文本文件上运行代码。我在成功创建一个jar文件时遇到了问题,该文件将通过IDE复制我的执行。我得到以下错误: java -jar ./out/artifacts/WordCount_jar/WordCount.jar test.txt out [19:35:21] Exception in thre

我是Hadoop新手,我刚刚在我的Mac笔记本电脑(Mavericks)上安装了Hadoop 1.2.1。然后,我在IntelliJ IDEA中创建了一个简单的WordCount项目,并能够在一个虚拟文本文件上运行代码。我在成功创建一个jar文件时遇到了问题,该文件将通过IDE复制我的执行。我得到以下错误:

java -jar ./out/artifacts/WordCount_jar/WordCount.jar test.txt out [19:35:21]
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:146)
    at neu.cs.parallelprogramming.WordCount.main(WordCount.java:48)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 2 more
FAIL: 1
java-jar./out/artifacts/WordCount\u jar/WordCount.jar test.txt out[19:35:21]
线程“main”java.lang.NoClassDefFoundError中出现异常:org/apache/commons/logging/LogFactory
位于org.apache.hadoop.conf.Configuration(Configuration.java:146)
位于neu.cs.parallelprogramming.WordCount.main(WordCount.java:48)
原因:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory
在java.net.URLClassLoader$1.run(URLClassLoader.java:372)
在java.net.URLClassLoader$1.run(URLClassLoader.java:361)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:360)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 还有两个
失败:1

有人能告诉我我缺少什么吗?

我想你必须指定你的类(实现Map/Reduce函数)。 例如,
$java-jar./WordCount.jar classWordCount input.txt输出

或者
$hadoop jar yourprogram.jar**yourclass**inputpath outputpath

尝试对您的猜测进行评论