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.
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.
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.
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.
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.
Weergeven
De voortgangsweergave is standaard geselecteerd. U kunt de gegevensstroom controleren door Lezen of Geschreven te selecteren in de vervolgkeuzelijst Weergave.
In het grafiekknooppunt worden de kleuren weergegeven die worden weergegeven in de heatmaplegenda.
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.
In de volgende afbeelding ziet u de kleuren van de groene en witte status.
In de volgende afbeelding ziet u de kleuren van de rode en groene status.
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.
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.
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. |
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.
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.
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).
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.
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.
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: