Surveillance d'Apache Spark

Le capteur « Apache Spark » est automatiquement déployé et installé une fois que vous avez installé l'agent « Instana ».

Informations de support

Pour vous assurer que le capteur d' Apache Spark s est compatible avec votre configuration actuelle, consultez les sections d'informations d'assistance suivantes :

Versions prises en charge et politique d'assistance

Le capteur est compatible avec les versions de Spark allant de 1.4.x à 3.5.x.

Le tableau suivant présente la dernière version prise en charge et la politique d'assistance :

Technologie Politique de support Dernière version technologique Dernière version prise en charge
Application Apache Spark A la demande 3.5.4 3.5.4
Apache Spark Standalone A la demande 3.5.4 3.5.4

Pour plus d'informations sur la politique d'assistance, consultez la section « Stratégie d'assistance pour les capteurs ».

Configuration

L'agent surveille l'application Spark de manière native, et la configuration est facultative.

Configuration de la fréquence d'interrogation

Remarque : Instana, Apache Spark sensor 1.1.11 ou version ultérieure et Apache Spark Standalone sensor 1.1.4 ou version ultérieure prennent en charge la configuration de la fréquence d'interrogation afin de réduire l'ingestion de données. Cette fonctionnalité est prise en charge sur le backend Instana auto-hébergé à partir de la version 311.

Fréquence de sondage personnalisée pour une application Spark

Vous pouvez configurer la fréquence à laquelle l' Instana interroge Apache Spark pour collecter des données et des métriques en utilisant le poll_rate paramètre dans le fichier de configuration.yaml l'agent, comme le montre l'exemple suivant :

com.instana.plugin.sparkapplication:
  poll_rate: 1 # values are in seconds. Default value is 1 second.

Fréquence de sondage personnalisée pour Spark Standalone

Vous pouvez configurer la fréquence à laquelle l' Instana interroge Apache Spark pour collecter des données et des métriques en utilisant le poll_rate paramètre dans le fichier de configuration.yaml l'agent, comme le montre l'exemple suivant :

com.instana.plugin.sparkstandalone:
  poll_rate: 1 # values are in seconds. Default value is 1 second.

Capteur (collecte de données)

Application Spark

Les deux composants principaux d'une application Spark sont le processus pilote et les processus exécuteur. Les processus exécuteur contiennent des données concernant uniquement l'exécution de la tâche. Le pilote est le processus principal, chargé de la coordination de l'exécution d'une application Spark. Par conséquent, il contient toutes les données sur les performances et l'exécution de l'application Spark et inclut également des données sur chaque programme d'exécution de l'application Spark.

Instana collecte toutes les données d'application Spark (y compris les données d'exécuteur) à partir de la machine virtuelle Java du pilote. Pour surveiller les applications Spark, l'agent Instana doit être installé sur l'hôte sur lequel le pilote Spark JVM est en cours d'exécution.

Notez qu'il existe deux manières de soumettre des applications Spark au gestionnaire de clusters. Selon la définition de cette option, l'emplacement où la machine virtuelle Java du pilote est en cours d'exécution peut varier.

  • Mode de déploiement du cluster : lorsque vous effectuez une soumission avec l'option --deploy-mode cluster, par exemple ./spark-submit --class org.apache.spark.examples.JavaWordCount --master yarn --deploy-mode cluster /path/to/app.jar, le pilote Spark JVM s'exécute sur l'un des nœuds de travail de votre gestionnaire de cluster. Si l'agent Instana est installé sur des noeuds worker, l'application Spark (pilote) est reconnue automatiquement.
  • Mode de déploiement du client : lorsque vous effectuez une soumission avec l'option --deploy-mode client, ou sans cette option --deploy-mode (la valeur par défaut est client), par exemple ./spark-submit --class org.apache.spark.examples.JavaWordCount --master yarn --deploy-mode client /path/to/app.jar ou ./spark-submit --class org.apache.spark.examples.JavaWordCount --master yarn /path/to/app.jar, le pilote Spark JVM s'exécute sur l'hôte sur lequel cette commande est exécutée. Pour que l' Instana e puisse surveiller cette application Spark, l'agent Instana doit être installé sur l'hôte où le processus Spark Submit est exécuté.

En fonction du type d'application Spark, Instana surveille différentes données collectées :

Applications par lots

  • Travaux
  • Etapes
  • Etapes terminées les plus longues
  • Programmes d'exécution

Applications de diffusion en continu

  • Traitement par lots
  • Retard de planification
  • Retard total
  • Temps de traitement
  • Opérations de sortie
  • Enregistrements d'entrée
  • Récepteurs
  • Programmes d'exécution

Application Spark sur AWS EMR

Instana détecte et surveille les applications Spark via le pilote Spark, ce qui permet d'obtenir une visibilité des applications Spark, d'installer l'agent sur des instances EC2 de votre cluster EMR. Lorsque vous déployez des applications Spark à partir du nœud principal et en mode de clientdéploiement, il suffit d'installer l'agent uniquement sur le nœud principal du cluster EMR.

Si vous ne souhaitez pas copier le fichier JAR de l'application Spark sur le nœud principal et que vous souhaitez déployer l'application Spark à cluster partir d'un autre emplacement, par exemple depuis un compartiment S3, vous devez installer l'agent sur tous les nœuds du cluster EMR. En effet, le pilote est planifié sur le noeud worker.

La meilleure méthode consiste à créer le cluster EMR, puis, dans la configuration avancée, à sélectionner l'image AMI personnalisée sur laquelle l'agent Instana a été installé. Pour plus d'informations sur la manière de démarrer le cluster EMR à l'aide de l'AMI personnalisée, consultez la documentation disponible à l'adresse AWS. Pour créer une image AMI sur laquelle l'agent « Instana » est installé, consultez la documentation disponible à l'adresse AWS. Lorsqu'on vous invite à vous connecter via SSH à l'instance d' EC2 pour installer le logiciel, utilisez la commande en une ligne qui se trouve sur la page Paramètres de Instana. Vous pouvez y accéder en cliquant sur Paramètres dans la barre latérale de l'interface utilisateur de Instana. Pour plus d'informations, consultez la section « Installation de l'agent hôte sur Amazon Elastic Compute Cloud » (Amazon EC2 ). Vous obtenez ainsi une vue d'ensemble de tous les nœuds de votre cluster EMR, vous pouvez surveiller les applications Spark quel que soit le mode de déploiement, et vous bénéficiez d'informations détaillées sur tous les composants sous-jacents d'EMR, tels qu' Hadoop YARN. Si vous souhaitez mesurer uniquement les indicateurs d' Hadoop YARN, consultez la documentation relative à la surveillance d'Amazon E ElasticMapReduce s (EMR).

Gestionnaire de clusters Spark Standalone

Outre son exécution sur les gestionnaires de clusters YARN, Spark propose également un mode de déploiement autonome simple. Spark Stand-Alone est un gestionnaire de clusters composé de nœuds principaux et de nœuds de travail. Instana surveille l'ensemble du cluster autonome Spark via le nœud principal du cluster. Il collecte des données à l'échelle du cluster et des données pour chaque noeud worker d'un cluster.

Métriques

  • Workers actifs
  • Workers inactifs
  • Workers mis hors service
  • Noeuds workers dans un état inconnu
  • Mémoire utilisée
  • Mémoire totale
  • Coeurs utilisés
  • Nombre total de coeurs
  • Données et métriques par worker
  • Applications les plus récentes
  • Pilotes les plus récents