Spark num-Vollzieher
Ich habe setup ein 10-Knoten-HDP-Plattform auf AWS. Unten ist meine Konfiguration
2 Server - Namen, Knoten-und Standby-Name-Knoten
7 Daten-Knoten und jeder Knoten hat 40 vCPUs und 160 GB Speicher.
Ich versuche zu berechnen, die Anzahl der Testamentsvollstrecker bei der übermittlung spark-Anwendungen und nachdem Sie durch verschiedene blogs bin ich verwirrt, auf was dieser parameter eigentlich bedeutet.
Blick auf die unten blog scheint es, die num-Vollzieher die Gesamtzahl der Testamentsvollstrecker über alle Knoten
http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/
Aber ein Blick auf die unten blog-es scheint, dass die num-Vollzieher wird pro Knoten oder server
https://blogs.aws.amazon.com/bigdata/post/Tx578UTQUV7LRP/Submitting-User-Applications-with-spark-submit
Kann jemand bitte klären, und überprüfen Sie die unten :-
- Ist die num-Vollzieher Wert wird pro Knoten oder die Gesamtzahl der Vollzieher auf alle data-Knoten.
- Bin ich über den untenstehenden Berechnung zu kommen mit der core-Anzahl, Testamentsvollstrecker Graf und Speicher pro Testamentsvollstrecker
Anzahl der Kerne <= 5 (Annahme 5)
Num Vollzieher = (40-1)/5 = 7
Speicher = (160-1)/7 = 22 GB
Mit der obigen Berechnung, die der korrekte Weg wäre,
--master yarn-client --driver-memory 10G --executor-memory 22G --num-executors 7 --executor-cores 5
OR
--master yarn-client --driver-memory 10G --executor-memory 22G --num-executors 49 --executor-cores 5
Dank,
Jayadeep
num-executors
entfernt wurde in 2.0+.Danke, ich bin derzeit auf der Verwendung von Spark-1.6.0 und würde gerne wissen, wie diese Parameter verwendet werden und berechnet
InformationsquelleAutor jjayadeep | 2016-09-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie zuerst verstehen, dass der Testamentsvollstrecker die Ausführung auf dem NodeManagers (können Sie denken wie diese Arbeiter in Spark standalone). Eine Reihe von Container (einschließlich vCPU, Arbeitsspeicher, Netzwerk, Festplatten, etc.) gleich Anzahl der Vollzieher angegeben werden vergeben für: Zünd-Anwendung auf GARN. Nun sind diese Vollstrecker Container werden auf mehrere NodeManagers und das hängt von den CapacityScheduler (Standard-scheduler in HDP).
Also zu summieren, die Gesamtzahl der Testamentsvollstrecker ist die Anzahl der Ressource-Container geben Sie für Ihre Anwendung ausführen.
Finden diese blog besser zu verstehen.
Es gibt keine starre Formel zur Berechnung der Anzahl der Vollzieher. Stattdessen können Sie versuchen, die Aktivierung Die dynamische Zuordnung in GARN für Ihre Anwendung.
Ja, Sie bekommen es richtig.
InformationsquelleAutor Rakesh Rakshit
Gibt es ein Problemchen mit der Kapazität scheduler. Soweit ich es verstehe, können Sie nur den Zeitplan für den Speicher. Sie müssen zuerst zu ändern, dass auf die dominante Ressource calculator scheduling Typ. Das wird Ihnen erlauben, zu Fragen, für mehr Speicher und Kernen Kombination. Sobald Sie sich verändert, dass Sie sollten in der Lage sein zu Fragen für beide cup und der Speicher mit Ihren spark-Anwendung.
Als für --num-Vollzieher Flagge, Sie können sogar halten Sie es auf einem sehr hohen Wert von 1000. Es wird sich noch weisen nur die Anzahl der Container, die möglich ist, zu starten, die auf jedem Knoten. Wie und Wann Sie die cluster-Ressourcen steigern Sie Ihre Behälter befestigt, um Ihre Anwendung zu erhöhen. Die Anzahl der Container, die Sie starten können pro Knoten begrenzt wird durch die Menge der Ressourcen zugeteilt, um die nodemanagers auf diesen Knoten.
InformationsquelleAutor Adi Kish