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

错误:找到接口(interface)org.apache.hadoop.mapreduce.TaskAttemptContext,但预期使用类

我提到的this StackOverflow question似乎在谈论同一问题。答案表明我们针对Hadoop-core-2.X.jar文件编译了代码,但是我找不到类似的东西。

因此,我该如何编译它使其在CDH4中完美运行。

最佳答案

我在上述问题中发布的链接中的答案要求针对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

来编译我的代码,然后运行正常,不会出现上述错误。

07-28 02:42
查看更多