2017-03-01 1 views

Antwort

0

Wenn Sie Ihre Jobs im Cluster entweder mit spark-submit oder einem anderen Mittelwert übergeben, wird dieser an Spark schedulers übergeben, der dafür verantwortlich ist, den logischen Plan Ihrer Jobs zu erstellen. Im Funken haben wir zwei Modi.

  1. FIFO

standardmäßig Scheduler Spark läuft Arbeitsplätze in FIFO-Weise. Jeder Job ist unterteilt in "Stufen" (z. B. zuordnen und Phasen reduzieren), und der erste Job erhält Priorität auf allen verfügbaren Ressourcen, während seine Stufen Aufgaben starten müssen, dann erhält der zweite Job Priorität usw. Wenn die Jobs an Der Kopf der Warteschlange muss nicht den gesamten Cluster verwenden, später können die Jobs sofort starten, aber wenn die Jobs am Anfang der Warteschlange groß sind, können spätere Jobs erheblich verzögert werden.

  1. FAIR

Der Fair Scheduler unterstützt auch Arbeitsplätze in Pools gruppiert und verschiedene Planungsoptionen (z Gewicht) für jeden Pool einstellen. Dies kann nützlich sein, um einen "high-priority" Pool für wichtigere Jobs zu erstellen, zum Beispiel , oder um die Jobs jedes Benutzers zusammenzufassen und den Benutzern gleiche Anteile zu geben, unabhängig davon, wie viele gleichzeitige Jobs sie statt haben Arbeitsplätze sind gleichberechtigt. Dieser Ansatz basiert auf dem Hadoop Fair Scheduler.

Ohne Intervention neu eingereichte Aufträge in einem Standard-Pool gehen, aber Pools Arbeitsplätze können durch Hinzufügen der spark.scheduler.pool ‚local Eigenschaft‘ der SparkContext im Thread eingestellt werden, die sie ist einreichen. Dies geschieht wie folgt:

For more info