2013-04-29 3 views
0

Je tente d'exécuter le code 4.1 exemple de "Hadoop dans la pratique" de Manning à http://www.manning.com/lam/Problèmes rencontrés lors de Hadoop de Manning dans la pratique 4.1 Code MapReduce sur Hadoop 1.0.3

Je Ubuntu 10.4 en utilisant Hadoop 1.0.3 java 6.

Les exemples de http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/, j'ai utilisé l'exemple wordcount pour vérifier l'installation.

J'ai ensuite essayé d'exécuter le 4.1 exemple en utilisant:

[email protected]:/usr/local/hadoop$ bin/hadoop jar MyJob.jar MyJob /user/hduser/4.1/input /user/hduser/4.1output 

Je reçois l'erreur:

Exception in thread "main" java.lang.ClassNotFoundException: MyJob 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:247) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:149) 

La méthode d'exécution publique dans l'exemple qui fonctionne et le code de manning semblent être différentes.

J'apprécie votre aide!

Répondre

0

Donnez le chemin complet du pot. Par exemple, si MyJob.jar est présent dans votre répertoire puis: [email protected]:/usr/local/hadoop$ bin/hadoop jar /home/hduser/MyJob.jar MyJob /user/hduser/4.1/input /user/hduser/4.1output

+0

suggestion Essayé "0", toujours même message d'erreur, des idées et merci, –

+0

pourriez-vous me montrer plz votre code ?? – Tariq

+0

le pilote de hadoop-1.0.3 pourrait-il être différent de celui utilisé dans "Manning"? –

0

J'ai eu le même problème avec Hadoop 1.0.3.16 et java 6 mais je réussi à obtenir l'exemple Manning 4.1 travailler en ajoutant job.setJar("/path/to/MyJob.jar"); après job.setJobName("MyJob"); je pensais de faire ce changement parce que je recevais un avertissement: WARN mapred.JobClient: No job jar file set. Les classes d'utilisateurs peuvent ne pas être trouvées. Voir JobConf(Class) ou JobConf#setJar(String). Avez-vous le même avertissement Tariq?

J'ai également essayé d'ajouter job.setJarByClass (MyJob.class); à la place, mais cela n'a pas fonctionné.

Cheers, Alex

+0

J'apprécie vraiment l'aide, toujours pas en cours d'exécution. N'importe qui a de la chance. –

Questions connexes