2017-06-26 3 views
0

ich meinen HPC-Cluster abzustimmen versuchen (ich benutze Sparklyr) und ich versuchen, einige wichtigen Spezifikationen von http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/ angegeben zu sammeln:Erhalt Anzahl von Knoten, die Anzahl der Codes und verfügbaren RAM für Tuning

zu hoffentlich machen Sie das alles ein wenig konkreter, hier ist ein bearbeiteter Beispiel für die Konfiguration einer Spark-App, um so viel Cluster wie möglich zu verwenden: Stellen Sie sich einen Cluster mit sechs Knoten mit NodeManager vor, jeder mit 16 Kernen und 64 GB Arbeitsspeicher .

nämlich:

  • Anzahl der Knoten
  • Anzahl der Kerne
  • Plattenspeicher und RAM

Ich weiß, wie sinfo -n -l zu verwenden, aber ich sehe zu viele Kerne und ich kann diese Information nicht leicht bekommen. Gibt es eine einfachere Möglichkeit, die Gesamtspezifikationen meines Clusters zu kennen?

Letztlich Ich versuche, einige vernünftige Parameter für --num-executors--executor-cores und --executor-memory

+0

Warum der Downvote? –

+0

OK entfernt. kannst du wieder upvoten ~ –

+0

Nicht oben, aber entfernt :) (- die meisten deiner 168 anderen Qs erzwingen auch Tags in Titeln) – pnuts

Antwort

1

Anzahl der Knoten zu finden:

sinfo -O "nodes" --noheader 

Anzahl der Kerne: Slurm der "Kerne" sind standardmäßig die Anzahl der Kerne pro Socket, nicht die Gesamtzahl der auf dem Knoten verfügbaren Kerne. Etwas verwirrend, in Slurm, cpus = Kerne * Sockets (also ein Zwei-Prozessor, 6-Kern-Maschine würde 2 Sockets, 6 Kerne und 12 CPUs).

Anzahl der Kerne (= CPU in Slurm), Festplattenspeicher und RAM sind schwieriger zu bekommen, da es auf verschiedenen Knoten unterschiedlich sein kann. Die folgende Code gibt eine easy-to-Parse-Liste:

sinfo -N -O "nodehost,disk,memory,cpus" --noheader 

Wenn alle Knoten, die die gleichen sind, wir die Informationen aus der ersten Reihe von sinfo bekommen:

Anzahl der Kerne (= Slurm CPUs) pro Knoten:

sinfo -N -O "cpus" --noheader | head -1 

RAM pro Knoten:

sinfo -N -O "memory" --noheader | head -1 

Speicherplatz pro Knoten:

sinfo -N -O "disk" --noheader | head -1 
+0

toll! Du hast recht, nicht alle Knoten haben die gleichen RAM/Spezifikationen. Wie wirkt sich das auf deine Antwort aus? –

+2

@Noobie: siehe meine Bearbeitung; Wenn sich Knoten jedoch unterscheiden, sollten Sie Ihre Funke-Ausführung basierend auf den Parametern der Knoten optimieren, die Sie tatsächlich für Ihren Job erhalten haben (also, nachdem der Job gestartet wurde). Es erfordert einige Scripting ... –

+0

Seltsamerweise, wenn ich 'sinfo-N -l' gebe, sehe ich eine Anzahl von CPUs, die größer ist als die Anzahl der Kerne, die ich sehe, indem ich 'sinfo-N -O' nodehost, disk eintippe , Speicher, Kerne "--noheader".was bedeutet das?? –

Verwandte Themen