Delen via


Uitgebreide Apache Spark-geschiedenisserver gebruiken voor foutopsporing en diagnose van Apache Spark-toepassingen

Dit artikel bevat richtlijnen voor het gebruik van de uitgebreide Apache Spark-geschiedenisserver voor het opsporen en diagnosticeren van voltooide en actieve Apache Spark-toepassingen.

Toegang tot de Apache Spark History Server

De Apache Spark-geschiedenisserver is de webgebruikersinterface voor voltooide en actieve Spark-toepassingen. U kunt de Gebruikersinterface (UI) van het Apache Spark-web openen vanuit de voortgangsindicatornotitieblok of de detailpagina van de Apache Spark-toepassing.

Open de Spark-webgebruikersinterface vanuit het voortgangsindicatornotitieblok

Wanneer een Apache Spark-taak wordt geactiveerd, bevindt de knop voor het openen van de Spark-webgebruikersinterface zich in de optie Meer actie in de voortgangsindicator. Selecteer de Spark-webgebruikersinterface en wacht enkele seconden en vervolgens wordt de pagina van de Spark-gebruikersinterface weergegeven.

Schermopname van het openen van de Spark-webgebruikersinterface vanuit het voortgangsindicatornotitieblok.

Open de Spark-webgebruikersinterface op de detailpagina van de Apache Spark-toepassing

De Spark-webgebruikersinterface kan ook worden geopend via de detailpagina van de Apache Spark-toepassing. Selecteer Monitor aan de linkerkant van de pagina en selecteer vervolgens een Apache Spark-toepassing. De detailpagina van de toepassing wordt weergegeven.

Schermopname van het openen van de Spark-webgebruikersinterface op de detailpagina van de Apache Spark-toepassing.

Voor een Apache Spark-toepassing waarvan de status wordt uitgevoerd, wordt op de knop de Spark-gebruikersinterface weergegeven. Selecteer de Spark-gebruikersinterface en de pagina Spark UI wordt weergegeven.

Schermopname van de knop geeft de Spark-gebruikersinterface weer in de status Actief.

Voor een Apache Spark-toepassing waarvan de status is beëindigd, kan de beëindigde status worden gestopt, Mislukt, Geannuleerd of Voltooid. De knop toont de Spark-geschiedenisserver. Selecteer de Spark-geschiedenisserver en de pagina Spark-gebruikersinterface wordt weergegeven.

Schermopname van de knop geeft de spark-gebruikersinterface weer in de eindstatus.

Het tabblad Grafiek in de Apache Spark-geschiedenisserver

Selecteer de taak-id voor de taak die u wilt weergeven. Selecteer vervolgens Graph in het taakmenu om de taakgrafiekweergave op te halen.

Overzicht

U ziet een overzicht van uw taak in de gegenereerde taakgrafiek. In de grafiek worden standaard alle taken weergegeven. U kunt deze weergave filteren op taak-id.

Schermopname van de taak-id van spark-toepassing en taakgrafiek.

Weergeven

De voortgangsweergave is standaard geselecteerd. U kunt de gegevensstroom controleren door Lezen of Geschreven te selecteren in de vervolgkeuzelijst Weergave.

Schermopname van de weergave van spark-toepassing en taakgrafiek.

In het grafiekknooppunt worden de kleuren weergegeven die worden weergegeven in de heatmaplegenda.

Schermopname van de heatmap voor spark-toepassingen en taakgrafieken.

Afspelen

Als u de taak wilt afspelen, selecteert u Afspelen. U kunt op elk gewenst moment Stoppen selecteren om te stoppen. De taakkleuren geven verschillende statussen weer bij het afspelen:

Color Betekenis
Groen Geslaagd: de taak is voltooid.
Orange Opnieuw geprobeerd: exemplaren van taken die zijn mislukt, maar die geen invloed hebben op het uiteindelijke resultaat van de taak. Deze taken hadden dubbele exemplaren of nieuwe pogingen die later kunnen slagen.
Blauw Wordt uitgevoerd: De taak wordt uitgevoerd.
Wit Wachten of overslaan: de taak wordt uitgevoerd of de fase is overgeslagen.
Rood Mislukt: de taak is mislukt.

In de volgende afbeelding ziet u de groene, oranje en blauwe statuskleuren.

Schermopname van het kleurenvoorbeeld van spark-toepassing en taakgrafiek, uitgevoerd.

In de volgende afbeelding ziet u de kleuren van de groene en witte status.

Schermopname van het kleurenvoorbeeld van spark-toepassing en taakgrafiek, overslaan.

In de volgende afbeelding ziet u de kleuren van de rode en groene status.

Schermopname van het kleurvoorbeeld van spark-toepassing en taakgrafiek, mislukt.

Notitie

De Apache Spark-geschiedenisserver maakt afspelen mogelijk voor elke voltooide taak (maar staat het afspelen van onvolledige taken niet toe).

Zoom

Gebruik de muis scroll om in en uit te zoomen op de taakgrafiek of selecteer In- en uitzoomen om deze passend te maken voor het scherm.

Schermopname van het zoomen van spark-toepassing en taakgrafiek.

Knopinfo

Beweeg de muisaanwijzer over het grafiekknooppunt om de knopinfo weer te geven wanneer er mislukte taken zijn en selecteer een fase om de fasepagina te openen.

Schermopname met knopinfo voor Spark-toepassing en taakgrafiek.

Op het tabblad Taakgrafiek hebben fasen knopinfo en een klein pictogram weergegeven als ze taken hebben die voldoen aan de volgende voorwaarden:

Voorwaarde Beschrijving
Ongelijkheid in gegevens De gemiddelde leesgrootte > van gegevens van alle taken in deze fase * 2 en de leesgrootte > van gegevens 10 MB.
Tijd scheeftrekken Gemiddelde uitvoeringstijd > van alle taken in deze fase * 2 en uitvoeringstijd > 2 minuten.

Schermopname van het scheeftrekken van spark-toepassing en taakgrafiek.

Beschrijving van grafiekknooppunt

In het taakgrafiekknooppunt worden de volgende gegevens van elke fase weergegeven:

  • Id
  • Naam of omschrijving
  • Totaal aantal taken
  • Gegevens gelezen: de som van de invoergrootte en de willekeurige leesgrootte
  • Gegevens schrijven: de som van de uitvoergrootte en willekeurige schrijfgrootte
  • Uitvoeringstijd: de tijd tussen de begintijd van de eerste poging en de voltooiingstijd van de laatste poging
  • Aantal rijen: de som van invoerrecords, uitvoerrecords, willekeurige leesrecords en willekeurige schrijfrecords
  • Voortgang

Notitie

Standaard geeft het taakgrafiekknooppunt informatie weer van de laatste poging van elke fase (met uitzondering van uitvoeringstijd van de fase). Tijdens het afspelen toont het grafiekknooppunt echter informatie over elke poging.

De gegevensgrootte van lezen en schrijven is 1 MB = 1000 KB = 1000 * 1000 bytes.

Feedback geven

Stuur feedback met problemen door Feedback geven te selecteren.

Schermopname van feedback over spark-toepassingen en taakgrafieken.

Limiet voor fasenummer

Voor prestatieoverweging is de grafiek standaard alleen beschikbaar wanneer de Spark-toepassing minder dan 500 fasen heeft. Als er te veel fasen zijn, mislukt deze met een fout als volgt:

The number of stages in this application exceeds limit (500), graph page is disabled in this case.

Als tijdelijke oplossing past u deze Spark-configuratie toe voordat u een Spark-toepassing start om de limiet te verhogen:

spark.ui.enhancement.maxGraphStages 1000

Maar let op: dit kan leiden tot slechte prestaties van de pagina en de API, omdat de inhoud te groot kan zijn voor het ophalen en weergeven van de browser.

Het tabblad Diagnose verkennen in de Apache Spark-geschiedenisserver

Selecteer een taak-id om toegang te krijgen tot het tabblad Diagnose. Selecteer vervolgens Diagnose in het toolmenu om de functie Diagnoseweergave op te halen. Het tabblad Diagnose bevat gegevensverschil, Tijdsverschil en Analyse van uitvoerdersgebruik.

Controleer de gegevensverschil, tijdsverschil en de gebruiksanalyse van uitvoerders door respectievelijk de tabbladen te selecteren.

Schermopname van het tabblad met scheeftrekken van sparkUI-diagnosegegevens.

Gegevensscheefheid

Wanneer u het tabblad Gegevensverschil selecteert, worden de bijbehorende scheve taken weergegeven op basis van de opgegeven parameters.

  • Parameters opgeven: in de eerste sectie worden de parameters weergegeven die worden gebruikt voor het detecteren van scheeftrekken van gegevens. De standaardregel is: het lezen van taakgegevens is groter dan drie keer van de gemiddelde leesbewerking van taakgegevens en de gelezen taakgegevens zijn meer dan 10 MB. Als u uw eigen regel wilt definiëren voor scheve taken, kunt u uw parameters kiezen. De secties Scheeftrekken en Scheefheidstekens worden dienovereenkomstig vernieuwd.

  • Scheeftrekkende fase : in de tweede sectie worden fasen weergegeven die scheve taken hebben die voldoen aan de criteria die eerder zijn opgegeven. Als er meer dan één scheve taak in een fase is, geeft de tabel met scheve fases alleen de meest scheve taak weer (bijvoorbeeld de grootste gegevens voor gegevens scheeftrekken).

    Schermopname van het tabblad Diagnostische gegevens van spark-gebruikersinterface.

  • Asymmetrische grafiek : wanneer een rij in de tabel met scheeftrekken is geselecteerd, worden in het diagram meer taakdistributiedetails weergegeven op basis van de lees- en uitvoeringstijd van gegevens. De scheve taken worden rood gemarkeerd en de normale taken worden blauw gemarkeerd. In de grafiek worden maximaal 100 voorbeeldtaken weergegeven en worden de taakdetails weergegeven in het rechteronderpaneel.

    Schermopname van de scheeftrekkende spark-gebruikersinterfacegrafiek voor fase 10.

Tijdsverschil

Op het tabblad Tijdverschil worden scheve taken weergegeven op basis van de uitvoeringstijd van de taak.

  • Parameters opgeven: in de eerste sectie worden de parameters weergegeven die worden gebruikt om tijdverschil te detecteren. De standaardcriteria voor het detecteren van tijdverschil zijn: de uitvoeringstijd van de taak is groter dan drie keer de gemiddelde uitvoeringstijd en de uitvoeringstijd van de taak is groter dan 30 seconden. U kunt de parameters wijzigen op basis van uw behoeften. In het diagram scheeftrekken en scheeftrekken worden de bijbehorende fasen en taakgegevens weergegeven, net zoals op het tabblad Gegevensverschil dat eerder is beschreven.

  • Selecteer Tijdsverschil en vervolgens wordt gefilterd resultaat weergegeven in de sectie Scheeftrekkende fase volgens de parameters die zijn ingesteld in de sectie Parameters opgeven. Selecteer één item in de sectie Scheeftrekken, vervolgens wordt de bijbehorende grafiek opgesteld in sectie 3 en worden de taakdetails weergegeven in het rechterbenedenvenster.

    Schermopname van de scheeftrekken van de diagnosetijd van spark-gebruikersinterface.

Analyse van het gebruik van uitvoerders

Deze functie is nu afgeschaft in Fabric. Als u dit nog steeds wilt gebruiken als tijdelijke oplossing, opent u de pagina door expliciet '/executorusage' achter pad '/diagnostic' toe te voegen in de URL, zoals:

Schermopname van het wijzigen van de URL.