Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Handling Error: Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected

I am using CDH4 and have written a MapReduce application using the new mapreduce API. I have compiled it against hadoop-core-1.0.3.jar and when I run it on my Hadoop cluster I get the error:

Error: Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected

I referred to this StackOverflow question which seems to be talking about the same problem. The answer suggests that we compile out code against the Hadoop-core-2.X.jar file, but I am unable to find anything like that.

So how do I compile it so that it runs flawlessly in CDH4.

like image 370
aa8y Avatar asked May 25 '26 07:05

aa8y


1 Answers

The answer in the link I posted in the question above asked to compile against Hadoop 2.0 library. Incidentally the post Hadoop 1.0, instead of using one single Hadoop Core jar for compilation, two (or maybe more) different jars are to be used.

I used: hadoop-common-2.0.2-alpha.jar hadoop-mapreduce-client-core-2.0.2-alpha.jar

for compiling my code and after that it ran fine w/o giving the aforementioned error.

like image 98
aa8y Avatar answered May 30 '26 19:05

aa8y



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!