2016-08-05 32 views
1

Ich versuche, den einfachen WordCount-Job im IPython-Notizbuch auszuführen, wobei Spark mit einem AWS EC2-Cluster verbunden ist. Das Programm funktioniert perfekt, wenn ich Spark im lokalen Standalone-Modus verwende, aber das Problem löst, wenn ich versuche, es mit dem EC2-Cluster zu verbinden.IPython-Notizbuch mit Spark auf EC2: Der erste Job hat keine Ressourcen akzeptiert

Ich habe die folgenden Schritte

ich Anweisungen befolgt haben in diesem Supergloo blogpost gegeben genommen.

Bis zur letzten Zeile, in der ich versuche, die Ausgabe in eine Datei zu schreiben, werden keine Fehler gefunden. [Die Lazy Loading-Funktion Spark bedeutet, dass diese, wenn das Programm wirklich ausführen startet]

Dies ist, wo ich den Fehler

[Stage 0:>               (0 + 0)/2]16/08/05 15:18:03 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources 
erhalten

Eigentlich kein Fehler ist, haben wir diese Warnung und das Programm geht in ein unbestimmter Wartezustand. Nichts passiert, bis ich das IPython-Notebook umbringe.

I Diese Stackoverflow post gesehen haben und die Anzahl der Kerne 1 und Speicher 512 durch Verwendung dieser Optionen nach dem Haupt Befehl

--total-executor-cores 1 --executor-memory 512m 

die Bildschirmaufzeichnung vom SparkUI reduziert wird wie folgt sparkUI

Dies zeigt deutlich, dass sowohl der Kern als auch die Benutzeroberfläche nicht vollständig genutzt werden.

Schließlich sehe ich aus diesem StackOverflow post dass

der Funke-EC2-Skript konfigurieren Sie die Spark-Cluster in EC2 als eigenständige, , die es bedeuten kann, nicht mit Fern vorträgt arbeiten. Ich habe mit diesem gleichen Fehler gekämpft, den Sie für Tage beschrieben haben, bevor Sie herausfinden, dass es nicht unterstützt wird. Der Nachrichtenfehler ist leider falsch.

Also müssen Sie Ihre Sachen kopieren und in den Master einloggen, um Ihre Spark-Task auszuführen.

Wenn dies tatsächlich der Fall ist, dann gibt es nichts mehr zu tun, aber da diese Aussage im Jahr 2014 gemacht wurde, ich hoffe, dass in den letzten 2 Jahren das Skript behoben wurde, oder es gibt eine Abhilfe . Wenn es einen Workaround gibt, wäre ich dankbar, wenn mir jemand darauf hinweisen könnte.

Vielen Dank für Ihr Lesen bis zu diesem Punkt und für alle Vorschläge angeboten.

Antwort

0

Sie können keine Jobs außer auf dem Master senden - wie Sie sehen - es sei denn, Sie richten einen REST-basierten Spark-Jobserver ein.