2017-05-02 5 views
0

Wir haben einen multinode Cluster zum Testen der Spark-Anwendung mit 4 Knoten eingerichtet. Jeder Knoten verfügt über 250 GB RAM, 48 Kerne. Master auf einem Knoten und 3 als Slaves ausführen.Wie können wir die Ausführungsparameter für eine Apache Funke-Anwendung setzen

Und wir haben eine Funken-Anwendung mit Scala entwickelt. Wir verwenden die Spark-Submit-Option, um den Job auszuführen. Jetzt ist hier der Punkt, den wir getroffen haben und weitere Erläuterungen benötigen, um fortzufahren.

Abfrage 1: Welches ist die beste Option, um einen Funkenauftrag auszuführen. a) Funken als Master b) Garn als Master und der Unterschied.

Abfrage 2: Während jeden Funken Job ausgeführt wird, können wir Option wie die Anzahl der Vollzieher liefern, keine Kerne, Testamentsvollstrecker Speicher usw.

Könnten Sie bitte beraten, was der optimale Wert für diese Parameter für eine bessere Leistung wäre in meinem Fall.

Jede Hilfe wäre sehr geschätzt werden, da es für jeden nützlich sein würde, der mit Funken beginnt :)

Danke. !!

+0

Im Hinblick auf optimale Werte, es ist eine subjektive Sache. Lesen Sie diesen zweiteiligen Artikel - https://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-1/ – Pushkr

Antwort

0

Frage1: YARN ist ein besserer Ressourcenmanager und unterstützt mehr Funktionen als Spark Master. Weitere Informationen finden Sie unter Apache Spark Cluster Managers

Frage2: Sie können Ressourcen nur zum Zeitpunkt der Jobinitialisierung zuweisen. Es sind Befehlszeilen-Flags verfügbar. Wenn Sie keine Befehlszeilen-Flags mit Spark-Submit übergeben möchten, können Sie sie auch beim Erstellen der Spark-Konfiguration im Code festlegen. Sie können die verfügbaren Flags sehen mit spark-submit --help

Fore weitere Informationen besuchen Spark Configuration

Electing Ressourcen hängt majorly von der Größe der Daten, die Sie bearbeiten und die Problemkomplexität wollen.

Bitte besuchen 5 mistakes to avoid while writng spark applications

+0

Sehr geehrte, Vielen Dank für Ihre Antwort. Für Abfrage 2 haben wir gefunden, dass wir Optionen haben, um die Parameter für Kerne und Speicher zu setzen. Aber es wäre toll, wenn du mir helfen könntest, was in meinem Fall der optimale Wert für bessere Leistung wäre. Wir versuchen 3 TB Daten zu verarbeiten. – user3257510

+0

Also, Sie möchten 3 TB Daten mit 1 TB RAM verarbeiten. Wie können Sie bei einem so großen Dataset und begrenzten Ressourcen Leistung erwarten? –

Verwandte Themen