Ich weiß, dass es einen sehr ähnlichen Beitrag zu diesem gibt ( Fehler beim Suchen der Winutils-Binärdatei im binären Hadoop-Pfad ), jedoch habe ich jeden vorgeschlagenen Schritt versucht, und es wird immer noch derselbe Fehler angezeigt.
Ich versuche, Apache Spark Version 1.6.0 unter Windows 7 zu verwenden, um das Tutorial auf dieser Seite Ссылка , speziell mit diesem Code:
%Vor%Dieser Fehler wird jedoch weiterhin angezeigt:
Nach dem Lesen dieses Beitrags Fehler beim Suchen der Winutils-Binärdatei in der Hadoop-Binärdatei Pfad
Ich erkannte, dass ich die winutils.exe-Datei benötigte, also habe ich eine Hadoop-Binärdatei 2.6.0 heruntergeladen und eine Umgebungsvariable namens HADOOP_HOME definiert:
%Vor%und legte es auf Pfad wie folgt:% HADOOP_HOME%
Trotzdem erscheint immer noch derselbe Fehler, wenn ich den Code ausprobiere. Weiß jemand, wie man das löst?
Wenn Sie Spark unter Windows mit Hadoop ausführen, müssen Sie sicherstellen, dass Ihre Windows-Hadoop-Installation ordnungsgemäß installiert ist. Um Spark zu starten, müssen Sie Winutils.exe und Winutils.dll in Ihrem Hadoop Home Directory Bin-Ordner haben.
Ich würde Sie bitten, dies zuerst zu versuchen:
1) Sie können .dll- und .exe-Dateien aus dem Bundle im unteren Link herunterladen.
2) Kopieren Sie winutils.exe und winutils.dll aus diesem Ordner in Ihre $ HADOOP_HOME / bin.
3) Setzen Sie den HADOOP_HOME
entweder in Ihrer spark-env.sh oder im Befehl, und fügen Sie HADOOP_HOME/bin
zu PATH
hinzu.
und dann versuche zu laufen.
Wenn Sie Hilfe bei der Installation von hadoop benötigen, gibt es einen netten Link, den Sie ausprobieren können.
Aber das kann warten. Sie können die ersten paar Schritte versuchen.
Laden Sie die bin-Datei von hier herunter Hadoop Bin und System.setProperty("hadoop.home.dir", "Desktop\bin");
Auch ich hatte dieses Problem, als ich versuchte, Spark-Shell von meinem Windows-Laptop aus zu starten. Ich löste das und es funktionierte für mich, ich hoffe es würde helfen. Es ist ein sehr kleiner Fehler, den ich gemacht habe - ich habe die winutils ausführbare Datei als "winutils.exe" anstatt nur winutils gespeichert.
Wenn also die Variable aufgelöst wird, wurde sie in winutils.exe.exe aufgelöst, die nirgends in den Hadoop-Binärdateien enthalten ist. Ich habe das ".exe" entfernt und die Shell ausgelöst, es hat funktioniert. Ich empfehle Ihnen, sich den Namen anzusehen, der gespeichert wurde.
Der folgende Fehler ist darauf zurückzuführen, dass die winutils-Binärdatei im Klassenpfad beim Ausführen der Spark-Anwendung fehlt. Winutils ist ein Teil des Hadoop-Ökosystems und gehört nicht zu Spark. Die tatsächliche Funktionalität Ihrer Anwendung wird möglicherweise korrekt ausgeführt, auch nachdem die Ausnahme ausgelöst wurde. Aber es ist besser, sie zu haben, um unnötige Probleme zu vermeiden. Um Fehler zu vermeiden, lade winutils.exe
binary herunter und füge das selbe dem Klassenpfad hinzu.
}
Wenn winutils.exe
nach C:\winutil\bin\
dann setProperty wie folgt
%Vor%Tags und Links java hadoop apache-spark