Uploaded image for project: 'Bigtop'
  1. Bigtop
  2. BIGTOP-1470

Mahout 0.9 couldn't work with hadoop 2.x

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Won't Fix
    • Affects Version/s: 0.8.0
    • Fix Version/s: 0.8.0
    • Component/s: build
    • Labels:
      None

      Description

      I built Mahout 0.9 with Bigtop and found it couldn't work with hadoop 2.x.

      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)
      

      The root cause is that bigtop uses the wrong parameter hadoop2.version when building Mahout.

      mvn clean install -Dmahout.skip.distribution=false -DskipTests -Dhadoop2.version=$HADOOP_VERSION "$@"
      

      For Mahout 0.9 , the correct property is hadoop.version in pom.xml of Mahout 0.9

      <hadoop.version>1.2.1</hadoop.version>
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                huLiu Hu Liu,
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: