Wie übermittele ich einen Spark-Job auf einem Remote-Master-Knoten im Garn-Client-Modus?

9

Ich muss Spark Apps / Jobs auf einen Remote-Funke-Cluster einreichen. Ich habe momentan auf meinem Rechner und der IP-Adresse des Master-Knotens als Garn-Client gezündet. Übrigens ist meine Maschine nicht im Cluster. Ich reiche meinen Job mit diesem Befehl ein

%Vor%

Ich habe die Adresse meines Masters in meiner App im Formular festgeschrieben

%Vor%

Und doch bekomme ich nur den Fehler

%Vor%

Oder stattdessen, wenn ich

benutze %Vor%

Ich bekomme

%Vor%

Muss ich wirklich Hadoop in meiner Workstation konfiguriert haben? Alle Arbeiten werden remote ausgeführt, und diese Maschine ist nicht Teil des Clusters. Ich benutze Spark 1.6.1.

    
Mnemosyne 06.06.2016, 01:25
quelle

1 Antwort

12

Wenn Sie conf.setMaster(...) von Ihrem Anwendungscode aus setzen, wird die höchste Priorität (gegenüber dem Argument --master) verwendet. Wenn Sie im Garn-Client-Modus arbeiten möchten, verwenden Sie MASTER_IP: 7077 nicht im Anwendungscode. Sie sollten Ihrem Treiber auf folgende Weise hadoop-Client-Konfigurationsdateien zur Verfügung stellen.

Sie sollten die Umgebungsvariable HADOOP_CONF_DIR oder YARN_CONF_DIR so setzen, dass sie auf das Verzeichnis zeigt, das die Client-Konfigurationen enthält.

Ссылка

Je nachdem, welche Hadoop-Funktionen Sie in Ihrer Spark-Anwendung verwenden, werden einige der Konfigurationsdateien zum Nachschlagen der Konfiguration verwendet. Wenn Sie Hive (über HiveContext in spark-sql) verwenden, wird nach hive-site.xml gesucht. hdfs-site.xml wird verwendet, um Koordinaten für das Lesen / Schreiben von NameNode aus Ihrem Job nach HDFS zu suchen.

    
Pranav Shukla 06.06.2016, 05:13
quelle