seqdirectory는 Mahout 1.0-snapshot을 사용하여 Hadoop 2.2.0을 사용할 때 MapReduce 모드에서 오류를 발생시킵니다.

StackOverflow https://stackoverflow.com//questions/23037404

문제

Hadoop 2.2.0에서 Mahout 1.0 스냅 샷에서 seqdirectory 명령을 실행하려고합니다.명령 사용 :

seqdirectory -i input -o output
.

스택 추적 :

Error: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader.initNextRecordReader(CombineFileRecordReader.java:164)
    at org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader.<init>(CombineFileRecordReader.java:126)
    at org.apache.mahout.text.MultipleTextFileInputFormat.createRecordReader(MultipleTextFileInputFormat.java:43)
    at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.<init>(MapTask.java:491)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:734)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:339)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:162)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:157)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader.initNextRecordReader(CombineFileRecordReader.java:155)
    ... 10 more
Caused by: java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected
    at org.apache.mahout.text.WholeFileRecordReader.<init>(WholeFileRecordReader.java:59)
    ... 15 more
.

이것은 이것이 Mahout 0.9의 문제이며 트렁크에 고정되었다고 생각했습니다.어떤 단서가 이것을 다루는 방법?MAPREDUCE 모드에서 실행하고 싶습니다. 그래서 -XM 순차적으로 내가 찾고있는 답변이 아닙니다.

도움이 되었습니까?

해결책

Caused by: java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected

오류가 항상 그렇듯이 컴파일 된 것과 다른 버전과 다른 버전에 대해 무언가를 실행하는 것을 의미합니다.여기에서는 Hadoop 2. 마호우스를 컴파일하지 않았습니다. 일부 변경없이 Hadoop 2에서 자연의 작업을 수행하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top