복붙노트

[HADOOP] Hadoop 2.2.0은 Mahout 0.8과 호환됩니까?

HADOOP

Hadoop 2.2.0은 Mahout 0.8과 호환됩니까?

나는 mahout 0.8과 함께 실행되는 hadoop 클러스터 버전 2.2.0을 가지고 있는데, 호환이 가능한가? 왜냐하면이 명령을 실행할 때마다 :

bin/mahout recommenditembased --input mydata.dat --usersFile user.dat --numRecommendations 2 --output output/ --similarityClassname SIMILARITY_PEARSON_CORRELATION

이 오류를 내게주세요 :

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:75)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.run(RecommenderJob.java:158)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.main(RecommenderJob.java:312)
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:622)
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:194)
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:622)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

아니면 잘못한거야? 모든 정보가 도움이 될 것입니다.

해결법

  1. ==============================

    1.아니요, Hadoop 2.x에서는 작동하지 않습니다. 누군가 다른 사람과 같은 오류 메시지가 표시됩니다.

    아니요, Hadoop 2.x에서는 작동하지 않습니다. 누군가 다른 사람과 같은 오류 메시지가 표시됩니다.

    적어도 재 컴파일이 필요할 것 같습니다.

    더 많은 사람들이 동일한 문제를 겪고 있습니다. 어떻게하면 hadoop 2.0을 위해 mahout을 컴파일 / 사용합니까?

  2. ==============================

    2.약 1 시간 전에 Mahout은 공식적으로 마스터 브랜치의 Hadoop 2.x에 대한 지원을 추가했습니다 (MAHOUT-1329 참조)

    약 1 시간 전에 Mahout은 공식적으로 마스터 브랜치의 Hadoop 2.x에 대한 지원을 추가했습니다 (MAHOUT-1329 참조)

    https://github.com/apache/mahout에서 코드를 체크 아웃하고 다음을 사용하여 다시 컴파일하십시오.

    mvn clean package -Dhadoop2.version=2.2.0
    

    그게 효과가 있는지보십시오.

  3. ==============================

    3.github https://github.com/apache/mahout에서 소스 코드를 가져 와서 다음 명령을 실행할 수 있습니다.

    github https://github.com/apache/mahout에서 소스 코드를 가져 와서 다음 명령을 실행할 수 있습니다.

    mvn -Dhadoop2.version=2.2.0 -DskipTests clean install
    

    그런 다음 배포 패키지를 배포판 / 대상 /

  4. from https://stackoverflow.com/questions/20911821/hadoop-2-2-0-is-compatible-with-mahout-0-8 by cc-by-sa and MIT license