处理错误:找到接口org.apache.hadoop.mapreduce.TaskAttemptContext,但是类是预期的

aa8*_*a8y 3 hadoop mapreduce cloudera

我正在使用CDH4,并使用新的mapreduce API编写了MapReduce应用程序.我已经针对hadoop-core-1.0.3.jar编译了它,当我在我的Hadoop集群上运行它时,我得到错误:

错误:找到接口org.apache.hadoop.mapreduce.TaskAttemptContext,但是类是预期的

我提到了这个StackOverflow问题似乎在谈论同样的问题.答案表明我们针对Hadoop-core-2.X.jar文件编译代码,但我无法找到类似的东西.

那么如何编译它以便它在CDH4中完美运行.

aa8*_*a8y 8

我在上面的问题中发布的链接中的答案要求针对Hadoop 2.0库进行编译.顺便提一下,在Hadoop 1.0之后,不使用一个单独的Hadoop Core jar进行编译,而是使用两个(或者更多)不同的jar.

我用过:hadoop-common-2.0.2-alpha.jar hadoop-mapreduce-client-core-2.0.2-alpha.jar

为了编译我的代码,之后它运行良好,没有给出上述错误.