2016-07-30 3 views
0

Meine Frage klingt vielleicht albern, aber es stört mich für eine lange Zeit.Führt Master-Knoten tatsächliche Aufgaben in Spark aus?

enter image description here

das Bild die Komponenten eines verteilten Anwendungsfunken oben gezeigt. Ich denke, dieses Bild zeigt an, dass der Master-Knoten nie tatsächliche Aufgaben ausführen wird, aber nur als Cluster-Manager dient. Ist es wahr?

Übrigens bezieht sich die tasks hier auf die vom Benutzer übermittelten Aufgaben.

+0

Ja, es ist wahr. Eigentlich ist dieses Bild nicht sehr gut. Es ist besser, darüber nachzudenken, wie hier gezeigt: https://spark.apache.org/docs/latest/img/cluster-overview.png – zero323

+0

In diesem Fall, sollen wir eine bessere Konfigurationsmaschine als Master verwenden? – chenzhongpu

+0

Im Allgemeinen ja. Details hängen vom Cluster-Manager und der Umgebung ab, aber normalerweise möchten Sie, dass sie mindestens repliziert werden. – zero323

Antwort

2

Ja, der Master-Knoten führt den Treiberprozess aus und führt keine Tasks aus. Aufgaben werden in Executor-Prozessen auf den Worker-Knoten ausgeführt. Der Master-Knoten wird selten vom Standpunkt der CPU aus belastet, aber abhängig davon, wie Broadcast-Variablen, Akkumulatoren und collect verwendet werden, kann es in Bezug auf die RAM-Nutzung ziemlich gestresst sein.

Der Fahrer bereitet den Kontext und erklärt die Operationen an den Daten mit RDD Transformationen und Aktionen:

0

Um ein bisschen mehr über die verschiedenen Rollen zu erklären.

Der Treiber sendet das serialisierte RDD-Diagramm an den Master. Der Master erstellt Aufgaben daraus und übergibt sie den Arbeitern zur Ausführung. Es koordiniert die verschiedenen Arbeitsphasen.

Die Arbeiter sind, wo die Aufgaben tatsächlich ausgeführt werden. Sie sollten über die erforderlichen Ressourcen und Netzwerkkonnektivität verfügen, um die auf den RDDs angeforderten Vorgänge ausführen zu können.

Verwandte Themen