Fouten opsporen in Apache Spark-taken die worden uitgevoerd in Azure HDInsight

In dit artikel leert u hoe u Apache Spark-taken die worden uitgevoerd op HDInsight-clusters, kunt bijhouden en fouten opsporen. Fouten opsporen met behulp van de Apache Hadoop YARN-gebruikersinterface, Spark-gebruikersinterface en de Spark History Server. U start een Spark-taak met behulp van een notebook die beschikbaar is in het Spark-cluster, Machine Learning: Voorspellende analyse van gegevens over voedselinspectie met behulp van MLLib. Gebruik de volgende stappen om een toepassing bij te houden die u hebt ingediend met behulp van een andere benadering, bijvoorbeeld spark-submit.

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Vereisten

Een toepassing bijhouden in de YARN-gebruikersinterface

  1. Start de YARN-gebruikersinterface. Selecteer Yarn onder Clusterdashboards.

    Azure portal launch YARN UI.

    Tip

    U kunt ook de YARN-gebruikersinterface starten vanuit de Ambari-gebruikersinterface. Als u de Ambari-gebruikersinterface wilt starten, selecteert u de Ambari-startpagina onder Clusterdashboards. Navigeer vanuit de Ambari-gebruikersinterface naar YARN>Quick Links> de actieve Resource Manager >Resource Manager-gebruikersinterface.

  2. Omdat u de Spark-taak hebt gestart met Jupyter Notebooks, heeft de toepassing de naam remotesparkmagics (de naam voor alle toepassingen die zijn gestart vanuit de notebooks). Selecteer de toepassings-id op basis van de naam van de toepassing voor meer informatie over de taak. Met deze actie wordt de toepassingsweergave gestart.

    Spark history server Find Spark application ID.

    Voor dergelijke toepassingen die worden gestart vanuit Jupyter Notebooks, wordt de status altijd UITGEVOERD totdat u het notebook afsluit.

  3. In de toepassingsweergave kunt u verder inzoomen om de containers te achterhalen die zijn gekoppeld aan de toepassing en de logboeken (stdout/stderr). U kunt de Spark-gebruikersinterface ook starten door te klikken op de koppeling die overeenkomt met de tracerings-URL, zoals hieronder wordt weergegeven.

    Spark history server download container logs.

Een toepassing bijhouden in de Spark-gebruikersinterface

In de Spark-gebruikersinterface kunt u inzoomen op de Spark-taken die zijn voortgekomen door de toepassing die u eerder hebt gestart.

  1. Als u de Spark-gebruikersinterface wilt starten, selecteert u in de toepassingsweergave de koppeling naar de tracerings-URL, zoals wordt weergegeven in de bovenstaande schermopname. U kunt alle Spark-taken zien die worden gestart door de toepassing die wordt uitgevoerd in de Jupyter Notebook.

    Spark history server jobs tab.

  2. Selecteer het tabblad Uitvoerders om verwerkings- en opslaggegevens voor elke uitvoerder te bekijken. U kunt de aanroepstack ook ophalen door de koppeling Thread Dump te selecteren.

    Spark history server executors tab.

  3. Selecteer het tabblad Fasen om de fasen weer te geven die zijn gekoppeld aan de toepassing.

    Spark history server stages tab.

    Elke fase kan meerdere taken bevatten waarvoor u uitvoeringsstatistieken kunt weergeven, zoals hieronder wordt weergegeven.

    Spark history server stages tab details.

  4. Op de pagina met fasegegevens kunt u DAG-visualisatie starten. Vouw de koppeling DAG-visualisatie boven aan de pagina uit, zoals hieronder wordt weergegeven.

    View Spark stages DAG visualization.

    DAG of Direct Aclyic Graph vertegenwoordigt de verschillende fasen in de toepassing. Elk blauw vak in de grafiek vertegenwoordigt een Spark-bewerking die vanuit de toepassing wordt aangeroepen.

  5. Op de pagina met fasedetails kunt u ook de tijdlijnweergave van de toepassing starten. Vouw de koppeling Gebeurtenistijdlijn boven aan de pagina uit, zoals hieronder wordt weergegeven.

    View Spark stages event timeline.

    In deze afbeelding worden de Spark-gebeurtenissen weergegeven in de vorm van een tijdlijn. De tijdlijnweergave is beschikbaar op drie niveaus, tussen taken, binnen een taak en binnen een fase. In de bovenstaande afbeelding wordt de tijdlijnweergave voor een bepaalde fase vastgelegd.

    Tip

    Als u het selectievakje In- en uitzoomen inschakelen inschakelt, kunt u naar links en rechts schuiven in de tijdlijnweergave.

  6. Andere tabbladen in de Spark-gebruikersinterface bieden ook nuttige informatie over het Spark-exemplaar.

    • Tabblad Opslag: als uw toepassing een RDD maakt, vindt u informatie op het tabblad Opslag.
    • Tabblad Omgeving: dit tabblad bevat nuttige informatie over uw Spark-exemplaar, zoals:
      • Scala-versie
      • Gebeurtenislogboekmap die is gekoppeld aan het cluster
      • Aantal uitvoerderskernen voor de toepassing

Informatie over voltooide taken zoeken met behulp van de Spark History Server

Zodra een taak is voltooid, wordt de informatie over de taak opgeslagen in de Spark History Server.

  1. Als u de Spark History Server wilt starten, selecteert u op de pagina Overzicht de Spark-geschiedenisserver onder Clusterdashboards.

    Azure portal launch Spark history server.

    Tip

    U kunt ook de gebruikersinterface van Spark History Server starten vanuit de Ambari-gebruikersinterface. Als u de Ambari-gebruikersinterface wilt starten, selecteert u op de blade Overzicht de ambari-startpagina onder Clusterdashboards. Navigeer vanuit de Ambari-gebruikersinterface naar spark2>Quick Links>Spark2 History Server UI.

  2. U ziet alle voltooide toepassingen die worden vermeld. Selecteer een toepassings-id om in te zoomen op een toepassing voor meer informatie.

    Spark history server completed applications.

Zie ook