2014-11-02 14 views
6

Ich möchte WordCount Beispiel ausführen.Kein gültiges Glas beim Ausführen von Hadoop Job

In Eclipse läuft es richtig. Im Ausgabeordner ist die Ausgabedatei vorhanden.

ich eine JAR-Datei von Wordcount gemacht und wollen es durch Befehl auszuführen

hadoop jar WordCount.jar /Projects/input /Projects/output 

es mir

Fehler gibt
Not a valid JAR: /Projects/WordCount.jar 

Ergebnis hdfs dfs -ls /Projects

Found 3 items 
-rw-r--r-- 1 hduser supergroup 3418 2014-11-02 15:38 /Projects/WordCount.jar 
drwxr-xr-x - hduser supergroup 0 2014-11-02 14:13 /Projects/input 
drwxr-xr-x - hduser supergroup 0 2014-11-02 14:16 /Projects/output 

es gibt mir gleiche Fehler dabei auch

hadoop jar /Projects/WordCount.jar wordPackage.WordCount /Projects/input /Projects/output 

Not a valid JAR: /Projects/WordCount.jar 

wie man diesen Fehler löst.

Ich habe laufen tvf Befehl gibt es diesen Ausgang

jar -tvf /home/hduser/Desktop/Files/WordCount.jar 

    60 Sun Nov 02 16:10:10 PKT 2014 META-INF/MANIFEST.MF 
1895 Sun Nov 02 14:02:38 PKT 2014 wordPackage/WordCount.class 
1295 Sun Nov 02 14:02:38 PKT 2014 wordPackage/WordCount.java 
2388 Sun Nov 02 14:02:06 PKT 2014 wordPackage/WordReducer.class 
707 Sun Nov 02 14:02:06 PKT 2014 wordPackage/WordReducer.java 
2203 Sun Nov 02 14:02:08 PKT 2014 wordPackage/WordMapper.class 
713 Sun Nov 02 14:02:06 PKT 2014 wordPackage/WordMapper.java 
16424 Sun Nov 02 13:50:00 PKT 2014 .classpath 
420 Sun Nov 02 13:50:00 PKT 2014 .project 
+0

Ich glaube, du verpasst die Datei Mainclass zu liefern, die so etwas wie $ bin/hadoop jar WordCount.jar sein sollte org.myorg.WordCount/Projekte/Eingabe/Projekte/Ausgabe – Satya

+0

Ich habe Hauptklasse geliefert. Ich habe eine Frage bearbeitet, die Sie darin sehen können. –

+0

Die Version von Hadoop, die Sie zum Kompilieren und Erstellen des Jar verwenden, sollte dieselbe Version wie die Umgebung haben, in der Sie den Hadoop-Job ausführen möchten (versuchen Sie den Befehl: "hadoop version"). –

Antwort

7

Sie nicht das Glas in HDFS halten können, wenn das gleiche mit hadoop Befehl ausführen, Jar sollte

Wenn das Glas in dem lokalen Pfad zur Verfügung nicht runnable ist die folgende versuchen (Sie möchten die package.mainclass angeben)

hadoop jar /home/hduser/Desktop/Files/WordCount.jar wordPackage.WordCount /Projects/input /Projects/output 

Wenn das Gefäß wird runnable folgenden verwendet

werden
hadoop jar /home/hduser/Desktop/Files/WordCount.jar /Projects/input /Projects/output 

Wenn das Problem weiterhin besteht, müssen Sie diese jar (WordCount.jar) in Eclipse für den Wiederaufbau wieder

+1

Ja, das Glas sollte nicht in HDFS sein. –

-1

ich das gleiche Problem konfrontiert. Aber in meinem Fall habe ich den Java-Code geschrieben, der sich auf Hadoop-1.x-Bibliotheken bezieht, und versucht, ihn mit 2.x auszuführen. Anfangs habe ich den gleichen Fehler im Terminal bekommen. Dann habe ich versucht, zu dem Pfad zu navigieren, wo ich meine JAR-Datei hatte. Es funktionierte.

werden können, können Sie die folgende tatsächlich versuchen: (nachdem sie auf die JAR-Dateien Pfad Navigation)

Verwandte Themen