2009-04-17 3 views
1
 
bash-3.2$ echo $JAVA_HOME 
/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home 
bash-3.2$ bin/hadoop dfs -copyFromLocal conf /user/yokkom/input2 
bash-3.2$ bin/hadoop jar hadoop-*-examples.jar grep input2 output 'dfs[a-z.]+' 
09/04/17 10:09:32 INFO mapred.FileInputFormat: Total input paths to process : 10 
09/04/17 10:09:33 INFO mapred.JobClient: Running job: job_200904171309_0001 
java.io.IOException: Job failed! 
     at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232) 
     at org.apache.hadoop.examples.Grep.run(Grep.java:69) 
     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 
     at org.apache.hadoop.examples.Grep.main(Grep.java:93) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68) 
     at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:141) 
     at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:61) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.apache.hadoop.util.RunJar.main(RunJar.java:165) 
     at org.apache.hadoop.mapred.JobShell.run(JobShell.java:54) 
     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 
     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) 
     at org.apache.hadoop.mapred.JobShell.main(JobShell.java:68) 

Quelqu'un at-il une idée de pourquoi cela se produit? Le même travail fonctionne parfaitement sur les machines Linux. Et, après "Job failed", l'ensemble du cluster Hadoop cesse de répondre.java.io.IOException: le travail a échoué! lors de l'exécution d'un exemple d'application sur mon osx avec hadoop-0.19.1

Ma version de MacOS est 10.5.6.

EDIT Le même résultat pour Hadoop 0.20.1

Répondre

0

Je googlé pour elle et la même erreur (à la même ligne) est arrivé avant. Lisez à ce sujet here et here.

Le deuxième lien suggère ce qui suit:

  • Supprimer/log4j.properties pour conf voir un rapport détaillé
  • Essayez d'augmenter la mémoire de tas (en utilisant -Xms et -Xmx commutateurs)
+0

Désolé. Ça n'a pas marché. – yogman

0

Ouais grep peut aspirer la mémoire, en particulier sur les grands ensembles de données. Quelle est la taille de votre contribution? BTW, il y a aussi de la mémoire Perm.

http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp

Il y a quelques commutateurs intéressants pour effectuer un comportement personnalisé sur OutOfMemory mais je soupçonne que le jobRunner est juste tout attraper avant qu'il ne soit à la machine virtuelle. Vous devrez peut-être un autre moyen de le déboguer.

Questions connexes