Dela via


Använda utökad Apache Spark-historikserver för att felsöka och diagnostisera Apache Spark-program

Den här artikeln innehåller vägledning om hur du använder den utökade Apache Spark-historikservern för att felsöka och diagnostisera slutförda och köra Apache Spark-program.

Få åtkomst till Apache Spark-historikservern

Apache Spark-historikservern är webbanvändargränssnittet för slutförda och köra Spark-program. Du kan öppna Apache Spark-webbanvändargränssnittet (UI) från notebook-filen för förloppsindikatorn eller apache Spark-programinformationssidan.

Öppna Spark-webbgränssnittet från notebook-filen för förloppsindikator

När ett Apache Spark-jobb utlöses finns knappen för att öppna Spark-webbgränssnittet i åtgärdsalternativet Mer i förloppsindikatorn. Välj Spark-webbgränssnittet och vänta några sekunder. Sidan Spark-användargränssnitt visas.

Skärmbild som visar hur du öppnar Spark-webbgränssnittet från notebook-filen för förloppsindikatorn.

Öppna Spark-webbgränssnittet från apache Spark-programinformationssidan

Spark-webbgränssnittet kan också öppnas via informationssidan för Apache Spark-programmet. Välj Övervakningshubben till vänster på sidan och välj sedan ett Apache Spark-program. Informationssidan för programmet visas.

Skärmbild som visar hur du öppnar Spark-webbgränssnittet från apache Spark-programinformationssidan.

För ett Apache Spark-program vars status körs visar knappen Spark-användargränssnittet. Välj Spark-användargränssnitt så visas sidan Spark-användargränssnitt.

Skärmbild som visar knappen visar spark-användargränssnittet i körningstillståndet.

För ett Apache Spark-program vars status har avslutats kan statusen stoppas, misslyckades, avbröts eller slutfördes. Knappen visar Spark-historikservern. Välj Spark-historikserver och sidan Spark-användargränssnitt visas.

Skärmbild som visar knappen visar spark-användargränssnittet i sluttillståndet.

Fliken Graph i Apache Spark-historikservern

Välj jobb-ID:t för det jobb som du vill visa. Välj sedan Graph på verktygsmenyn för att hämta jobbdiagramvyn.

Översikt

Du kan se en översikt över ditt jobb i det genererade jobbdiagrammet. Som standard visar diagrammet alla jobb. Du kan filtrera den här vyn efter jobb-ID.

Skärmbild som visar jobb-ID för Spark-program och jobbdiagram.

Skärm

Som standard är förloppsvisningen markerad. Du kan kontrollera dataflödet genom att välja Läs eller Skrivet i listrutan Visa .

Skärmbild som visar visning av spark-program och jobbdiagram.

Grafnoden visar färgerna som visas i heatmap-förklaringen.

Skärmbild som visar spark-program- och jobbdiagrammets värmekarta.

Spela upp

Om du vill spela upp jobbet väljer du Uppspelning. Du kan välja Stoppa när som helst för att stoppa. Aktivitetsfärgerna visar olika statusar när du spelar upp:

Färg Innebörd
Grönt Lyckades: Jobbet har slutförts.
Orange Återförsök: Instanser av uppgifter som misslyckades men som inte påverkar det slutliga resultatet av jobbet. Dessa uppgifter hade duplicerade eller återförsöksinstanser som kan lyckas senare.
Blått Körs: Aktiviteten körs.
Vitt Väntar eller hoppas över: Aktiviteten väntar på att köras, eller så har fasen hoppat över.
Röd Misslyckades: Aktiviteten misslyckades.

Följande bild visar färger för grön, orange och blå status.

Skärmbild som visar färgexempel för Spark-program och jobbdiagram som körs.

Följande bild visar gröna och vita statusfärger.

Skärmbild som visar färgexemplet spark-program och jobbdiagram, hoppa över.

Följande bild visar röda och gröna statusfärger.

Skärmbild som visar färgexemplet spark-program och jobbdiagram, misslyckades.

Kommentar

Apache Spark-historikservern tillåter uppspelning för varje slutfört jobb (men tillåter inte uppspelning för ofullständiga jobb).

Zooma

Använd musrullningen för att zooma in och ut på jobbdiagrammet, eller välj Zooma så att det passar för skärmen.

Skärmbild som visar spark-program- och jobbdiagramzoom för att passa.

Knappbeskrivningar

Hovra på grafnoden för att se knappbeskrivningen när det finns misslyckade uppgifter och välj en fas för att öppna dess fassida.

Skärmbild som visar knappbeskrivning för Spark-program och jobbdiagram.

På fliken jobbdiagram har faserna en knappbeskrivning och en liten ikon som visas om de har uppgifter som uppfyller följande villkor:

Villkor beskrivning
Skjuvade data Dataläsningsstorlek > genomsnittlig dataläsningsstorlek för alla aktiviteter i den här fasen * 2 och dataläsningsstorlek > 10 MB.
Tidsförskjutning Genomsnittlig körningstid > för alla aktiviteter i det här steget * 2 och körningstid > 2 minuter.

Skärmbild som visar ikonen för spark-program- och jobbdiagramsförskjutning.

Beskrivning av grafnod

Jobbdiagramnoden visar följande information för varje steg:

  • ID
  • Namn eller beskrivning
  • Totalt aktivitetsnummer
  • Läsdata: summan av indatastorleken och shuffle-lässtorleken
  • Dataskrivning: summan av utdatastorleken och shuffle-skrivstorleken
  • Körningstid: tiden mellan starttiden för det första försöket och slutförandetiden för det senaste försöket
  • Radantal: summan av indataposter, utdataposter, blanda läsposter och blanda skrivposter
  • Förlopp

Kommentar

Som standard visar jobbdiagramnoden information från det senaste försöket i varje steg (förutom körningstid för steg). Under uppspelningen visar grafnoden dock information om varje försök.

Datastorleken för läsning och skrivning är 1 MB = 1 000 KB = 1 000 * 1 000 byte.

Ge feedback

Skicka feedback med problem genom att välja Ge oss feedback.

Skärmbild som visar feedback om spark-program och jobbdiagram.

Gräns för stegnummer

För prestandaövervägande är diagrammet som standard endast tillgängligt när Spark-programmet har mindre än 500 steg. Om det finns för många steg misslyckas det med ett fel som det här:

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

Som en lösning bör du använda den här Spark-konfigurationen för att öka gränsen innan du startar ett Spark-program:

spark.ui.enhancement.maxGraphStages 1000

Observera dock att detta kan orsaka dåliga prestanda för sidan och API:et, eftersom innehållet kan vara för stort för att webbläsaren ska kunna hämta och rendera.

Utforska fliken Diagnos i Apache Spark-historikservern

Om du vill komma åt fliken Diagnos väljer du ett jobb-ID. Välj sedan Diagnos på verktygsmenyn för att hämta jobbvyn Diagnos. Fliken Diagnos innehåller analys av dataförskjutning, tidsförskjutning och körningsanvändning.

Kontrollera analys av dataförskjutning, tidsförskjutning och körningsanvändning genom att välja flikarna.

Skärmbild som visar fliken för sparkUI-diagnosdataförskjutning igen.

Dataskevning

När du väljer fliken Dataförskjutning visas motsvarande skeva uppgifter baserat på de angivna parametrarna.

  • Ange parametrar – I det första avsnittet visas parametrarna som används för att identifiera dataförskjutning. Standardregeln är: läs av aktivitetsdata är större än tre gånger av den genomsnittliga läsningen av aktivitetsdata och läsaktivitetsdata är mer än 10 MB. Om du vill definiera en egen regel för skeva uppgifter kan du välja dina parametrar. Avsnitten Skewed Stage och Skew Char uppdateras i enlighet med detta.

  • Skev fas – Det andra avsnittet visar faser, som har skeva uppgifter som uppfyller de villkor som tidigare angetts. Om det finns mer än en skev uppgift i ett stadium visar den skeva scentabellen bara den mest skeva uppgiften (till exempel de största data för datasnedvridning).

    Skärmbild som visar fliken för spark ui-diagnosdatasnedställning.

  • Skevt diagram – När en rad i tabellen för skevhetssteg har valts visar skevningsdiagrammet mer information om aktivitetsdistribution baserat på dataläsnings- och körningstid. De skeva uppgifterna är markerade i rött och de normala aktiviteterna är markerade i blått. Diagrammet visar upp till 100 exempelaktiviteter och aktivitetsinformationen visas i den högra nedre panelen.

    Skärmbild som visar spark ui skew chart för steg 10.

Tidsförskjutning

Fliken Tidsförskjutning visar skeva uppgifter baserat på körningstid för aktiviteter.

  • Ange parametrar – I det första avsnittet visas parametrarna som används för att identifiera tidsförskjutning. Standardvillkoren för att identifiera tidsförskjutning är: körningstiden för aktiviteter är större än tre gånger den genomsnittliga körningstiden och körningstiden för aktiviteter är större än 30 sekunder. Du kan ändra parametrarna baserat på dina behov. Diagrammet Skevt stadium och skevt visar motsvarande faser och uppgifter på samma sätt som fliken Förskjutning av data som beskrevs tidigare.

  • Välj Tidsförskjutning och sedan visas filtrerat resultat i avsnittet Skev fas enligt parametrarna som anges i avsnittet Ange parametrar. Välj ett objekt i avsnittet Skevt steg , sedan utformas motsvarande diagram i avsnitt 3 och aktivitetsinformationen visas i den högra nedre panelen.

    Skärmbild som visar avsnittet för spark ui-diagnostidsförskjutning.

Användningsanalys för exekutor

Den här funktionen är inaktuell i Infrastrukturresurser nu. Om du fortfarande vill använda detta som en lösning öppnar du sidan genom att uttryckligen lägga till "/executorusage" bakom sökvägen "/diagnostic" i URL:en, så här:

Skärmbild som visar hur du ändrar URL:en.