2

Ich verwende Spark in einem YARN Cluster (HDP 2.4) mit den folgenden Einstellungen:Funken auf YARN zu weniger vcores verwendet

  • 1 Masternode
    • 64 GB RAM (50 GB nutzbar)
    • 24 Adern (19-Kern verwendbar)
  • 5 Slavenodes
    • 64 GB RAM (50 GB nutzbar) jeweils
    • 24 Adern (19-Kern verwendbar) jeweils
  • YARN Einstellungen
    • Speicher aller Behälter (von einem Host): 50 GB
    • Mindest Behälter size = 2 GB
    • maximale Behältergröße = 50 GB
    • vcores = 19
    • Mindest # vcores/container = 1
    • maximal # vcores/container = 19

Wenn ich meine Funke Anwendung mit dem Befehl spark-submit --num-executors 30 --executor-cores 3 --executor-memory 7g --driver-cores 1 --driver-memory 1800m ... Garnlauf schaffen 31 Behälter (für jeden Exekutor Prozess + eines Treiberprozeß) mit den folgenden Einstellungen:

  • Correct: Master-Container mit 1 Kern & ~ 1800 MB RAM
  • Correc t: 30 Slave-Behälter mit ~ 7 GB RAM jeweils
  • aber falschen: jeder nur Slave-Behälter mit 1 Kern läuft anstelle von 3, gemäß dem YARN Resourcemanager UI (nur 31 von 95 im Gebrauch zeigt, anstelle von 91 = 30 * 3 + 1), siehe Bild unten

enter image description here

Meine Frage hier: Warum haben die spark-submit Parameter --executor-cores 3 keine Wirkung?

Antwort

Verwandte Themen