Ich bin immer noch neu mit hadoop
und ich habe versucht, this example zu arbeiten.Hadoop-Streaming Ungültige DFS-Verzeichnisname
Ich konnte Hadoop einrichten und wordcount
mapreduce
Beispiel ausführen und alles ist in Ordnung. Jedoch habe ich eine java.lang.IllegalArgumentException: Invalid DFS directory name
Ausnahme bin immer, wenn ich einen hadoop
streaming command
auf windows 7
laufen hadoop 2.6.0
Hier verwenden ist mein Befehl:
hadoop jar %HADOOP_PREFIX%\share\hadoop\tools\lib\hadoop-streaming-2.6.0.jar -mapper mapper.php -reducer reducer.php -input input/* -output output
Wenn ich den Befehl von etwa Ordner d:\hadoop
der Fehler ausführen angezeigt wird:
java.lang.IllegalArgumentException: Invalid DFS directory name /d:/hadoop
Das Ausgabeverzeichnis wird erstellt, bevor der Fehler angezeigt wird und der Job fehlschlägt.
Ich habe versucht, nach Befehlen zu suchen, um den Speicherort der verteilten Datei festzulegen, aber ich habe nichts dergleichen gefunden.
Jeder Rat würde geschätzt werden.
Danke Ramesh, aber ich bekomme immer noch den gleichen Fehler. Ich stellte sicher, dass die Dateien im Pfad hdfs hinzugefügt wurden, ich kann sie aufgelistet sehen, wenn ich "hadoop dfs -ls" ausführe, und ich stellte sicher, dass die Eingabedatei relativ zu hdfs Pfad gesetzt wurde. Aber ich bekomme immer noch einen ungültigen Pfad und es gibt das aktuelle Verzeichnis aus, in dem ich mich befinde. Ich habe versucht, der Eingabedatei einen falschen Pfad zu geben und es gibt einen anderen Fehler, so dass meine Eingabedatei angezeigt wird. Ich denke, das bedeutet, dass es etwas anderes ist? –
können Sie Ihre Frage mit allen Schritten aktualisieren, die Sie im obigen Kommentar ausgeführt haben? Damit ich mir die Details ansehen kann. Und wird 'hadoop-streaming-2.6.0.jar' von dir erstellt? –
Nein Ich habe eine bereits kompilierte Hadoop-Datei für Windows heruntergeladen und sie hatte alle JAR-Dateien einschließlich Wordcount-Beispiel und Streaming-Jar.Ich habe wirklich keine zusätzlichen Schritte hinzugefügt, ich habe nur sichergestellt, dass der Eingabe- und Ausgabepfad hdfs-Pfad ist, wie Sie auf –