Spark on YARN zu wenig vcores verwendet

Ich verwende Spark in einem YARN-Cluster (HDP 2.4) mit den folgenden Einstellungen:

1 Masternode 64 GB RAM (50 GB nutzbar) 24 Kerne (19 Kerne verwendbar) 5 Slavenodes 64 GB RAM (jeweils 50 GB nutzbar) 24 Kerne (19 Kerne verwendbar) jeYARN EinstellungenSpeicher aller Container (eines Hosts): 50 GB Mindestcontainergröße = 2 GBmaximale Containergröße = 50 GBvcores = 19minimum # vcores / container = 1maximum # vcores / container = 19

Wenn ich meine Spark-Anwendung mit dem Befehl @ starspark-submit --num-executors 30 --executor-cores 3 --executor-memory 7g --driver-cores 1 --driver-memory 1800m ... YARN erstellt 31 Container (einen für jeden Executor-Prozess + einen Treiber-Prozess) mit den folgenden Einstellungen:

Richti: Hauptcontainer mit 1 Kern & ~ 1800 MB RAMRichti: 30 Slave-Container mit je ~ 7 GB RAM ABER FALSCH: jeder Slave-Container läuft nur mit 1 Kern statt 3 laut YARN ResourceManager-Benutzeroberfläche (es werden nur 31 von 95 anstelle von 91 = 30 * 3 + 1 angezeigt), siehe Abbildung unten

Meine Frage hier: Warum macht dasspark-submit parameter--executor-cores 3 haben keine Wirkung?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage