1

Where did my code go wrong? When I searched, I found a similar post, but couldn't adapt it to my problem.

Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected
    at org.apache.mahout.common.HadoopUtil.getCustomJobName(HadoopUtil.java:174)
    at org.apache.mahout.common.AbstractJob.prepareJob(AbstractJob.java:614)
    at org.apache.mahout.cf.taste.hadoop.preparation.PreparePreferenceMatrixJob.run(PreparePreferenceMatrixJob.java:73)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.run(RecommenderJob.java:164)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.main(RecommenderJob.java:322)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:72)
    at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
    at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:152)
    at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:195)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
MarsAtomic
  • 10,436
  • 5
  • 35
  • 56
SobhanH
  • 11
  • 4

1 Answers1

0

This is a known issue I believe and will be available in Mahout 1.0. If you want support for Hadoop 2.x, you can try re-compiling mahout from trunk.

Fixed in this JIRA ticket: https://issues.apache.org/jira/browse/MAHOUT-1329

Also have a look at another similar question: Mahout error with Hadoop2.2

Community
  • 1
  • 1
tuxdna
  • 8,257
  • 4
  • 43
  • 61
  • 1
    Thanks. All set now after getting tar ball of hadoop-1.2.1. Still it's a mystery how come 2.2.0 worked [downloaded date was Mar 18]. All it says now as below, which is OK. Warning: $HADOOP_HOME is deprecated. Running on hadoop, using /Users/shota/Downloads/hadoop-1.2.1/bin/hadoop and HADOOP_CONF_DIR= MAHOUT-JOB: /Users/shota/Downloads/mahout-distribution-0.9/mahout-examples-0.9-job.jar Warning: $HADOOP_HOME is deprecated. – SobhanH Mar 28 '14 at 12:58
  • simply unset HADOOP_HOME, and the warning will go away – tuxdna Mar 28 '14 at 13:03
  • 1
    hello @SobhanH please explain how you have solved this problem. I can't get what you have done. what do you mean by getting tar ball of hadoop-1.2.1 – Divyang Shah Jul 16 '14 at 17:20