2016-06-24 26 views
0

Ich versuche, einen MapReduce-Job aus dem Internet zu starten. Dieser Job übernimmt die Eingabe einer 'points.dat'-Datei und führt ein k-Means-Clustering durch. Es sollte eine Datei 'centroids.dat' und eine Datei mit Punkten erzeugen, die auf ihren eigenen Schwerpunkt abgestimmt sind. Ein paar Monate funktionierte das, aber jetzt versuche ich eine Neuinstallation durchzuführen.kann keinen MapReduce-Job auf Hadoop ausführen

Ich habe

bin/hdfs dfs -copyFromLocal ..//..//../home/<myusername>/Downloads/points.dat 

Alles ist in Ordnung und die Datei erscheint in dem Werkzeug Web-Service im Verzeichnis/user // Pfad auf hdfs. Jps ist ok

Die jar-Anfragen argumente:

<input> <output> <n clusters> 

so gemacht i

bin/hadoop jar ../../../home/<myusername>/Downloads/kmeans.jar /user/<myusername>/ /out 3 

erstellt es eine "centroids.dat" Datei in/user/und aus/Verzeichnis. Soweit ich es verstehe, versucht es "centroids.dat" erneut zu lesen, um es auszuführen. So endet es mit einigen Fehlern wie

"failed creating symlink /tmp/hadoop-<myusername>/mapred/local/1466809349241/centroids.dat <- /usr/local/hadoop/centroids.dat 

So eine FileNotFoundException erhöhen java

Ich versuchte, die Frage so weit wie möglich zu verkürzen. Wenn weitere Informationen benötigt werden, kein Problem für mich

+0

nur eine Idee, haben Sie die richtigen Dateien in Ihrem Ordner zu schreiben? Wenn Sie auf externen Servern arbeiten, passiert dies manchmal. –

+0

Ich arbeite in lokalen. Aber ich bin kein Experte in Linux. Wie kann ich es überprüfen? – QuasarLex

Antwort

0

ich glaube, Sie fehlen Hauptklasse in Ihrem Befehl zu erwähnen

bin/hadoop jar kmeans.jar MainClass input output 
+0

in der Hauptklasse i haben public static void main (String [] args) throws Exception { if (args = 3!) { System.err.println ("Verwendung: KMeans ") ; System.exit (2); } und wenn ich den Namen der Hauptklasse nach dem Pfad setzen, druckt es die "Nutzung: Kmeans .... etc etc" – QuasarLex

+0

können Sie Sie Code einfügen ??? wenn es nicht vertraulich ist. –