Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Denne artikel indeholder en vejledning i, hvordan du bruger den udvidede Apache Spark-oversigtsserver til at foretage fejlfinding og diagnosticere fuldførte og kørende Apache Spark-programmer.
Få adgang til Apache Spark-oversigtsserveren
Apache Spark-oversigtsserveren er webbrugergrænsefladen til fuldførte og kørende Spark-programmer. Du kan åbne Apache Spark-brugergrænsefladen (UI) fra statusindikatornotesbogen eller siden med oplysninger om Apache Spark-programmet.
Åbn brugergrænsefladen i Spark-web fra notesbogen med statusindikator
Når et Apache Spark-job udløses, er knappen til at åbne Spark-webbrugergrænseflade inde i indstillingen Mere handling i statusindikatoren. Vælg Spark-webbrugergrænseflade , og vent et par sekunder, hvorefter siden med Spark-brugergrænsefladen vises.
Åbn spark-webbrugergrænsefladen fra siden med oplysninger om Apache Spark-programmet
Brugergrænsefladen i Spark-web kan også åbnes via siden med oplysninger om Apache Spark-programmet. Vælg Overvåg til venstre på siden, og vælg derefter et Apache Spark-program. Detaljesiden for programmet vises.
For et Apache Spark-program, hvis status kører, viser knappen Spark-brugergrænsefladen. Vælg Spark UI , hvorefter siden med Brugergrænsefladen i Spark vises.
For et Apache Spark-program, hvis status er afsluttet, kan statussen stoppes, mislykkes, annulleres eller fuldføres. Knappen viser Spark-oversigtsserveren. Vælg Spark-oversigtsserver , hvorefter siden med Brugergrænsefladen i Spark vises.
Snapshot-Based Indlæsning af store hændelseslogfiler
En ny snapshot-baseret indlæsningsmetode er blevet introduceret til Spark History Server, optimeret til store hændelseslogscenarier.
Med denne forbedring afslører Spark-brugerfladen gradvist tilgængelige data i stedet for at vente på, at hele genafspilningen er færdig. Når begivenhedsloggens størrelse er 6 GB eller større, vises en indlæsningsmeddelelse, der indikerer, at der kan være behov for yderligere indlæsningstid (typisk et par minutter).
Så snart et delvist snapshot er tilgængeligt, gengives brugerfladen med de data. En beskedbjælke øverst angiver, at data stadig behandles i baggrunden. Når hele genafspilningen er færdig, fjernes beskedlinjen automatisk, og hele visningen vises.
Med denne erfaring kan du:
- Se en klar indlæsningsmeddelelse for store hændelseslogfiler (≥ 6 GB), så du ved, at systemet aktivt behandler det i stedet for ikke reagerer ikke.
- Gennemse et delvist snapshot tidligt gennem et tydeligt markeret preview-banner, så du kan undersøge jobs og baner uden at vente på hele genafspilningen
- Opdater siden senere for at indlæse hele datasættet, når behandlingen er færdig
Når Spark History-dataene er fuldt indlæst, forsvinder den delvise indlæsningsbeskedlinje, og den fulde oplevelse er tilgængelig.
Udforsk Apache Spark History Server
Apache Spark History Server leverer en webbaseret brugergrænseflade (UI), der rekonstruerer Spark-applikationseksekveringsdetaljer ud fra hændelseslogfiler. Det gør det muligt for brugere at analysere færdige eller kørende applikationer ud over deres runtime-livscyklus.
History Server UI består af flere faner, som hver tilbyder et forskelligt perspektiv på at forstå applikationsadfærd, ydeevne og ressourceudnyttelse.
Fanen Job
Job-fanen giver et overordnet overblik over alle jobs i en Spark-applikation.
Du kan bruge denne visning til at:
- Overvåg jobstatus (kørende, succesfuldt eller mislykket)
- Sammenlign jobvarigheder
- Identificer hurtigt mislykkede eller langsomt kørende job
Fanen Stages
Fanen Stages viser detaljeret udførelsesinformation for hver fase.
Du kan bruge denne visning til at:
- Analyser præstation på stage-niveau
- Gennemgå opgavefordeling og omrokeringsmålinger
- Identificer flaskehalse såsom skæve data eller dyre operationer
Grænse for fasenummer
Af hensyn til ydeevnen er grafen som standard kun tilgængelig, når Spark-programmet har færre end 500 faser. Hvis der er for mange faser, mislykkes det med en fejl som denne:
The number of stages in this application exceeds limit (500), graph page is disabled in this case.
Før du starter et Spark-program, skal du anvende denne Spark-konfiguration for at øge grænsen:
spark.ui.enhancement.maxGraphStages 1000
Men bemærk, at dette kan medføre dårlig ydeevne for siden og API'en, fordi indholdet kan være for stort til, at browseren kan hente og gengive.
Lagerfanen
Fanen Lagring viser information om cachede data.
Du kan bruge denne visning til at:
- Forstå hukommelses- og diskforbrug for cachede datasæt
- Bekræft om caching er effektivt
Miljøfanen
Fanen Miljø viser runtime-konfiguration og miljødetaljer.
Du kan bruge denne visning til at:
- Inspektér Spark-konfigurationsindstillinger
- Verificér miljøvariabler og afhængigheder
- Fejlfinding af konfigurationsrelaterede problemer
Fanen Eksekutorer
Fanen Eksekutører viser ressourceudnyttelse på tværs af eksekutorer.
Du kan bruge denne visning til at:
- Overvåg CPU- og hukommelsesforbrug
- Analyser opgavefordeling på tværs af udførere
- Identificer eksekutorfejl eller ubalancer
Graffane
Graffanen visualiserer udførelsen af et Spark-job som en rettet acyklisk graf (DAG), der repræsenterer relationerne mellem stadier.
Du kan bruge denne visning til at:
- Forstå, hvordan et job er opdelt i stadier og deres afhængigheder
- Identificer kritiske veje, der bestemmer den samlede jobvarighed
- Detekter fejlede eller genprøvede faser
- Afspil jobudførelsen igen for at se, hvordan opgaverne udvikler sig over tid
Denne fane er særligt nyttig til at forstå eksekveringsflowet og identificere højniveau-ydelsesflaskehalse.
Diagnosefanen
Diagnosefanen giver avancerede analysemuligheder, herunder:
- Dataforskydningsdetektion
- Tidsforskydningsanalyse
- Besøgsanalyse af eksekvering
Kontrollér dataforvrængelse, tidsforvrængelse og analyse af eksekveringsanvendelse ved at vælge fanerne.
Denne fane hjælper med at identificere performance-flaskehalse og ineffektivitet i jobudførelsen.
Dataforvrænget
Når du vælger fanen Dataforvrænge , vises de tilsvarende skæve opgaver baseret på de angivne parametre.
Angiv parametre – I det første afsnit vises parametrene, som bruges til at registrere dataforvrænget. Standardreglen er: Læsning af opgavedata er større end tre gange den gennemsnitlige læsning af opgavedata, og opgavedataene er mere end 10 MB. Hvis du vil definere din egen regel for skæve opgaver, kan du vælge dine parametre. Sektionerne Skæv fase og Skævt tegn opdateres tilsvarende.
Skæv fase – I det andet afsnit vises faser, som har skæve opgaver, der opfylder de tidligere angivne kriterier. Hvis der er mere end én skæv opgave i en fase, viser tabellen med skæve faser kun den mest skæve opgave (f.eks. de største data for dataforvrænget).
Skævt diagram – Når der vælges en række i tabellen med skæve faser, viser skævt diagrammet flere oplysninger om opgavefordeling baseret på datalæsnings- og udførelsestid. De skæve opgaver er markeret med rødt, og de normale opgaver er markeret med blåt. Diagrammet viser op til 100 eksempelopgaver, og opgavedetaljerne vises i højre nederste panel.
Tidsforvrænget
Under fanen Tidsforvrænget vises skæve opgaver baseret på opgavens udførelsestid.
Angiv parametre – I det første afsnit vises parametrene, som bruges til at registrere tidsforvrænget tid. Standardkriterierne for registrering af tidsforvrængelse er: Opgavens udførelsestid er større end tre gange den gennemsnitlige udførelsestid, og opgavens udførelsestid er større end 30 sekunder. Du kan ændre parametrene baseret på dine behov. Under Skæv fase og Skævt diagram vises de tilsvarende oplysninger om faser og opgaver på samme måde som fanen Dataforvrænget , der er beskrevet tidligere.
Vælg Tidsforvrænget, hvorefter filtreret resultat vises i sektionen Skæv fase i henhold til de parametre, der er angivet i afsnittet Angiv parametre. Vælg ét element i sektionen Skæv fase , derefter udarbejdes det tilsvarende diagram i sektion 3, og opgavedetaljerne vises i højre nederste panel.
Besøgsanalyse af eksekvering
Denne funktion frarådes i Fabric nu. Hvis du stadig vil bruge dette som en løsning, skal du få adgang til siden ved eksplicit at tilføje "/executorusage" bag stien "/diagnosticering" i URL-adressen på følgende måde:
SQL/DataFrame-fanen
For arbejdsbelastninger, der bruger Spark SQL, giver SQL-fanen indsigt på forespørgselsniveau.
Du kan bruge denne visning til at:
- Analyser forespørgselsudførelsesplaner
- Varighed og ydeevne for gennemgang af forespørgsler
Bemærk
Tilgængeligheden af visse faner afhænger af arbejdsbelastningstypen og de aktiverede Spark-funktioner.
Spark Executor Rolling Logs: Nemmere adgang til store og lange opgaver
Efterhånden som Spark-applikationer fortsætter med at vokse i skala og varighed, er effektiv logstyring og -analyse blevet stadig mere kritisk. For at imødekomme disse skiftende behov har vi introduceret forbedringer af Spark History Server (til fuldførte programmer) og Spark-brugergrænsefladen (til kørende programmer), hvilket muliggør rullende eksekutorlogge for Spark 3.4 og nyere.
Med denne forbedring opdeler systemet automatisk logfiler i timesegmenter, når en eksekutorlog overstiger 16 MB, eller Spark-jobbet kører i mere end én time. Dette gør det nemmere at navigere, se og downloade logfiler uden at beskæftige sig med ekstremt store filer.
Du kan nu:
- Få vist logfiler efter time for hurtigt at finde specifikke udførelsesvinduer
- Få adgang til de seneste aktive logfiler, mens jobbet stadig kører.
- Download individuelle timelogfiler eller alle logfiler samlet efter behov
Denne funktion giver brugerne mulighed for nemt at finde og analysere logfiler fra et bestemt tidspunkt, samtidig med at de undgår besværet med at downloade eller åbne en massiv enkelt logfil.
Nedenfor er et eksempel på visningen Rullende logfiler for udfører: