seqdirectory génère une erreur en mode MapReduce lors de l'utilisation de Mahout 1.0-SNAPSHOT avec Hadoop 2.2.0

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

Question

J'essaie d'exécuter la commande seqdirectory dans Mahout 1.0-SNAPSHOT avec Hadoop 2.2.0.En utilisant la commande :

seqdirectory -i input -o output

Trace de la pile:

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

Je pensais que c'était un problème dans Mahout 0.9 et qu'il avait été corrigé dans le coffre.Des indices sur la façon de gérer cela ?Je veux l'exécuter en mode MapReduce, donc -xm sequential n'est pas la réponse que je recherche.

Était-ce utile?

La solution

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

Des erreurs comme celle-ci signifient toujours que vous exécutez quelque chose sur une version de quelque chose qui est différente de celle avec laquelle il a été compilé.Ici, vous n'avez pas compilé Mahout pour Hadoop 2.Par nature, il ne fonctionne pas avec Hadoop 2 sans quelques modifications de build.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top