2017-06-26 2 views
0

Je suis en train pour régler mon cluster HPC (je l'utilise Sparklyr) et je tente de recueillir des spécifications importantes spécifiées par http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/:obtenir nombre de noeuds, le nombre de codes et RAM disponible pour le réglage

Pour espérons rendre tout cela un peu plus concret, voici un exemple de configuration d'une application Spark pour utiliser autant de cluster que possible: Imaginez un cluster avec six nœuds exécutant NodeManagers, chacun équipé de 16 cœurs et 64 Go de mémoire .

à savoir:

  • nombre de nœuds
  • nombre de cœurs
  • espace disque
  • et RAM

Je sais comment utiliser sinfo -n -l mais je vois trop de cœurs et moi ne peut pas facilement obtenir cette information. Existe-t-il un moyen plus simple de connaître les spécifications globales de mon cluster?

En fin de compte, je suis en train de trouver des paramètres raisonnables pour --num-executors--executor-cores et --executor-memory

+0

pourquoi le downvote? –

+0

OK supprimé. pouvez-vous remanier à nouveau ~ –

+0

Pas en haut, mais retiré vers le bas :) (- la plupart de vos 168 autres Qs forcent également les balises en titres) – pnuts

Répondre

1

Nombre de nœuds:

sinfo -O "nodes" --noheader 

Nombre de conducteurs: "Les noyaux" de slurm sont, par défaut, le nombre des cœurs par socket, pas le nombre total de cœurs disponibles sur le nœud. Avec un peu de confusion, dans Slurm, cpus = cœurs * sockets (donc, une machine à deux processeurs, 6 cœurs aurait 2 sockets, 6 cœurs et 12 cpus).

Le nombre de cœurs (= cpus dans Slurm), l'espace disque et la RAM sont plus difficiles à obtenir, car ils peuvent être différents sur des nœuds différents. Les rendements suivants une liste facile à Parse:

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

Si tous les nœuds qui sont les mêmes, nous pouvons obtenir l'information de la première ligne de sinfo:

Nombre de noyaux (= Slurm CPUs) par noeud:

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

RAM par nœud:

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

espace disque par noeud:

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

génial! vous avez raison, tous les nœuds n'ont pas la même RAM/spécifications. Comment cela affecte-t-il votre réponse? –

+2

@Noobie: voir mon edit; Cependant, si les noeuds diffèrent, vous devez optimiser l'exécution de votre étincelle en fonction des paramètres des noeuds que vous avez réellement obtenus pour votre travail (par conséquent, une fois que le travail a démarré). Il faut quelques scripts ... –

+0

Bizarrement, quand je tape 'sinfo -N -l' je vois un nombre de processeurs plus grand que le nombre de cœurs que je vois en tapant' sinfo -N -O "nodehost, disk , mémoire, noyaux "--noheader'.Qu'est-ce que ça veut dire?? –