Partager via


Déboguer des travaux Apache Spark s’exécutant sur Azure HDInsight

Dans cet article, vous allez apprendre à suivre et déboguer des travaux Apache Spark s’exécutant sur des clusters HDInsight. Déboguer à l’aide de l’interface utilisateur Apache Hadoop YARN, de l’interface utilisateur Spark et du serveur d’historique Spark. Vous démarrez un travail Spark à l’aide d’un notebook disponible avec le cluster Spark, Machine Learning : Analyse prédictive des données d’inspection alimentaire à l’aide de MLLib. Suivez les étapes suivantes pour suivre une application que vous avez envoyée à l’aide d’une autre approche, par exemple spark-submit.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Prerequisites

Suivre une application dans l’interface utilisateur YARN

  1. Lancez l’interface utilisateur YARN. Sélectionnez Yarn sous Tableaux de bord du cluster.

    Le portail Azure lance l’interface utilisateur YARN.

    Conseil / Astuce

    Vous pouvez également lancer l’interface utilisateur YARN à partir de l’interface utilisateur Ambari. Pour lancer l’interface utilisateur d’Ambari, sélectionnez accueil Ambari sous Tableaux de bord du cluster. À partir de l’interface utilisateur Ambari, accédez à YARN>Liens rapides> du gestionnaire de ressources actif >Interface utilisateur du gestionnaire de ressources.

  2. Étant donné que vous avez démarré la tâche Spark à l’aide de Notebooks Jupyter, l’application a le nom remotesparkmagics (nom de toutes les applications démarrées à partir des notebooks). Sélectionnez l’ID d’application par rapport au nom de l’application pour obtenir plus d’informations sur le travail. Cette action lance la vue de l’application.

    Serveur d’historique Spark : recherchez l’ID d’application Spark.

    Pour ces applications lancées à partir des notebooks Jupyter, l’état est toujours en cours d’exécution jusqu’à ce que vous quittez le notebook.

  3. À partir de la vue d’application, vous pouvez explorer plus en détail les conteneurs associés à l’application et aux journaux (stdout/stderr). Vous pouvez également lancer l’interface utilisateur Spark en cliquant sur la liaison correspondant à l’URL de suivi, comme indiqué ci-dessous.

    Serveur d’historique Spark – Télécharger les journaux de conteneur.

Suivre une application dans l’interface utilisateur Spark

Dans l’interface utilisateur Spark, vous pouvez explorer les travaux Spark générés par l’application que vous avez démarrée précédemment.

  1. Pour lancer l’interface utilisateur Spark, dans l’affichage de l’application, sélectionnez le lien par rapport à l’URL de suivi, comme indiqué dans la capture d’écran ci-dessus. Vous pouvez voir tous les travaux Spark lancés par l'application qui s'exécute dans Jupyter Notebook.

    Onglet Tâches du serveur d’historique Spark.

  2. Sélectionnez l’onglet Exécuteurs pour afficher les informations de traitement et de stockage de chaque exécuteur. Vous pouvez également récupérer la pile des appels en sélectionnant le lien Thread Dump .

    Serveur d’historique Spark – Onglet Exécuteurs.

  3. Sélectionnez l’onglet Étapes pour afficher les étapes associées à l’application.

    Onglet Étapes du serveur d’historique Spark.

    Chaque étape peut avoir plusieurs tâches pour lesquelles vous pouvez afficher les statistiques d’exécution, comme indiqué ci-dessous.

    Détails de l’onglet Étapes du serveur d’historique Spark.

  4. Dans la page détails de l’étape, vous pouvez lancer la visualisation DAG. Développez le lien Visualisation DAG en haut de la page, comme indiqué ci-dessous.

    Affichez la visualisation DAG des étapes Spark.

    DAG ou Direct Aclyic Graph représente les différentes étapes de l’application. Chaque zone bleue du graphique représente une opération Spark appelée à partir de l’application.

  5. Dans la page des détails de l’étape, vous pouvez également lancer la vue chronologique de l’application. Développez le lien Chronologie des événements en haut de la page, comme indiqué ci-dessous.

    Afficher la chronologie des événements des étapes Spark.

    Cette image affiche les événements Spark sous la forme d’une chronologie. La vue de la chronologie est disponible à trois niveaux différents, dans les tâches, au sein d’une tâche et au sein d’une étape. L'image ci-dessus représente la vue chronologique d'une étape donnée.

    Conseil / Astuce

    Si vous activez la case Activer le zoom, vous pouvez faire défiler vers la gauche et la droite dans l’affichage de la chronologie.

  6. D’autres onglets de l’interface utilisateur Spark fournissent également des informations utiles sur l’instance Spark.

    • Onglet Stockage : si votre application crée un RDD, vous trouverez des informations sous l’onglet Stockage.
    • Onglet Environnement : cet onglet fournit des informations utiles sur votre instance Spark, par exemple :
      • version de Scala ;
      • Répertoire du journal des événements associé au cluster
      • Nombre de cœurs d’exécuteur pour l’application

Trouver des informations sur les travaux terminés à l’aide du serveur d’historique Spark

Une fois qu’un travail est terminé, les informations sur le travail sont conservées dans le serveur d’historique Spark.

  1. Pour lancer le serveur d’historique Spark, dans la page Vue d’ensemble , sélectionnez serveur d’historique Spark sous Tableaux de bord du cluster.

    Le portail Azure lance le serveur d’historique Spark.

    Conseil / Astuce

    Vous pouvez également lancer l’interface utilisateur du serveur d’historique Spark à partir de l’interface utilisateur Ambari. Pour lancer l’interface utilisateur Ambari, dans le panneau Vue d’ensemble, sélectionnez Accueil Ambari sous Tableaux de bord du cluster. À partir de l’interface utilisateur Ambari, accédez à Spark2 Liens rapides Interface utilisateur du serveur d’historique Spark2.

  2. Vous voyez toutes les applications terminées répertoriées. Sélectionnez un ID d’application pour explorer une application pour plus d’informations.

    Applications terminées par le serveur d'antécédents Spark.

Voir aussi