Hu Liu, created BIGTOP-1470:
-------------------------------

             Summary: Mahout 0.9 couldn't work hadoop 2.x
                 Key: BIGTOP-1470
                 URL: https://issues.apache.org/jira/browse/BIGTOP-1470
             Project: Bigtop
          Issue Type: Bug
          Components: build
    Affects Versions: 0.8.0
            Reporter: Hu Liu,
            Priority: Blocker


I built Mahout 0.9 with Bigtop and found it couldn't work with hadoop 2.x.
{code}
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)
{code}

The root cause is that bigtop uses the wrong parameter hadoop2.version when 
building Mahout.
{code}
mvn clean install -Dmahout.skip.distribution=false -DskipTests 
-Dhadoop2.version=$HADOOP_VERSION "$@"
{code} 
For Mahout 0.9 , the correct property is hadoop.version in pom.xml of Mahout 0.9
{code}
<hadoop.version>1.2.1</hadoop.version>
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to