2017-03-06 4 views
2

Je sais que les ganglions peuvent être utilisés pour surveiller l'utilisation des ressources dans un cluster comme Spark. Mais il fournira un rapport global pour ma demande.Comment puis-je surveiller/générer un rapport agrégé de l'utilisation de la CPU/RAM à partir du code pour l'application spark?

Mais si je veux savoir quelle quantité de ressources est utilisée par une partie spécifique de mon code, y a-t-il un moyen?

A 
My code 
B 

Par exemple, je veux savoir l'utilisation CPU/RAM de A à B. Je peux calculer le temps d'exécution dans le code, à savoir l'application java pour étincelle, mais je ne sais pas comment je peux spécifiquement connaître la l'utilisation des ressources pour cette partie. J'ai une idée que si je peux générer un rapport (comme api d'appel pour le rapport de ganglia) à B, il peut essentiellement me montrer les ressources utilisées jusqu'à B. Bien qu'il n'excluera rien avant A encore cela fonctionnera pour moi pour l'instant si une telle solution existe.

Merci d'avance.

Répondre

1

Apparemment, le nouveau projet sparkoscope semble fonctionner sur ce point, c'est-à-dire la surveillance à partir du niveau du code source. Cependant, leur projet n'est pas bien documenté, donc je suis confronté à des difficultés pour mettre leur projet en position de travail. Néanmoins, c'est un début. J'espère que ça aide quelqu'un comme moi.

+1

Je pense qu'avec quelques ajustements cela peut fonctionner pour vous. Étant donné que les mesures sont exportées dans HDFS avec leur horodatage, il est facile d'extraire la partie qui vous intéresse en utilisant l'horodatage de début et de fin de votre code. En ce qui concerne les exigences d'installation, je peux aider. Est-ce https://github.com/ibm-research-ireland/sparkoscope/issues/8 votre problème? –

+0

Il était, et il a été résolu plus tard Je pense que c'était quelque chose à voir avec les machines que j'ai utilisées – user3086871