Share via


Az Apache Spark History Server kiterjesztett funkcióinak használata Spark-alkalmazások hibakereséséhez és diagnosztizálásához

Ez a cikk bemutatja, hogyan használhatja az Apache Spark History Server kiterjesztett funkcióit a befejezett vagy futó Spark-alkalmazások hibakeresésére és diagnosztizálására. A bővítmény tartalmaz egy Adat lapot, egy Gráf lapot és egy Diagnosztikát . Az Adatok lapon ellenőrizheti a Spark-feladat bemeneti és kimeneti adatait. A Graph lapon ellenőrizheti az adatfolyamot, és lejátszhatja a feladatdiagramot. A Diagnosztikák lapon az Adateltérés, az Időeltérés és a Végrehajtó kihasználtsága elemzési funkcióit tekintheti meg.

Hozzáférés kérése a Spark-előzmények kiszolgálójához

A Spark-előzmények kiszolgálója a kész és futó Spark-alkalmazások webes felhasználói felülete. Megnyithatja az Azure Portalról vagy egy URL-címről.

Nyissa meg a Spark History Server webes felhasználói felületét az Azure Portalon

  1. Nyissa meg a Spark-fürtöt az Azure Portalon. További információ: Fürtök listázása és megjelenítése.

  2. A Fürt irányítópultjai között válassza a Spark-előzménykiszolgálót. Amikor a rendszer kéri, adja meg a Spark-fürt rendszergazdai hitelesítő adatait.

    Launch the Spark History Server from the Azure portal. az Azure Portalon." border="true":::

A Spark History Server webes felhasználói felületének megnyitása URL-cím alapján

Nyissa meg a Spark-előzménykiszolgálót a következő helyre való tallózással https://CLUSTERNAME.azurehdinsight.net/sparkhistory, ahol a CLUSTERNAME a Spark-fürt neve.

A Spark History Server webes felhasználói felülete a következő képhez hasonló lehet:

The Spark History Server page.

Az Adatok lap használata a Spark-előzmények kiszolgálójában

Válassza ki a feladatazonosítót, majd az eszköz menüjében válassza az Adatok lehetőséget az adatnézet megtekintéséhez.

  • Az egyes fülek kiválasztásával tekintse át a bemeneteket, kimeneteket és táblázatműveleteket .

    Data tabs on the Data for Spark Application page.

  • Másolja az összes sort a Másolás gombra kattintva.

    Copy data on the Spark application page.

  • Mentse az összes adatot . CSV-fájl a csv gombra kattintva.

    Save data as a .CSV file from the Data for Spark Application page.

  • Az adatok kereséséhez írja be a kulcsszavakat a Keresés mezőbe. A keresési eredmények azonnal megjelennek.

    Search data on the Data for Spark Application page.

  • Jelölje ki az oszlopfejlécet a táblázat rendezéséhez. A további részletek megjelenítéséhez válassza a pluszjelet egy sor kibontásához. Jelölje ki a mínuszjelet egy sor összecsukásához.

    The data table on the Data for Spark Application page.

  • Töltsön le egyetlen fájlt a jobb oldalon található Részleges letöltés gombra kattintva. A kijelölt fájl helyileg lesz letöltve. Ha a fájl már nem létezik, ez egy új lapot nyit meg a hibaüzenetek megjelenítéséhez.

    The data download row on the Data for Spark Application page.

  • Másolja ki a teljes elérési utat vagy a relatív elérési utat a Teljes elérési út másolása vagy a Relatív elérési út másolása lehetőség kiválasztásával, amely a letöltési menüből bontható ki. Az Azure Data Lake Storage-fájlok esetében válassza a Megnyitás az Azure Storage Explorerben lehetőséget az Azure Storage Explorer elindításához, és keresse meg a mappát a bejelentkezés után.

    Copy Full Path and Copy Relative Path options on the Data for Spark Application page.

  • Ha egy oldalon túl sok sor van megjelenítve, a táblázat alján található oldalszámokat választva navigálhat.

    Page numbers on the Data for Spark Application page.

  • További információkért vigye az egérmutatót a Spark-alkalmazás adatai melletti kérdőjelre, vagy válassza ki a kérdőjelet az elemleírás megjelenítéséhez.

    Get more information from the Data for Spark Application page.

  • Ha visszajelzést szeretne küldeni a problémákról, válassza a Visszajelzés küldése lehetőséget.

    Provide feedback from the Data for Spark Application page.

A Graph lap használata a Spark-előzménykiszolgálón

  • Válassza ki a feladatazonosítót, majd az eszközmenü Gráf elemét a feladatdiagram megtekintéséhez. Alapértelmezés szerint a gráf az összes feladatot megjeleníti. Szűrje az eredményeket a Feladatazonosító legördülő menü használatával.

    The Job ID drop-down menu on the Spark Application & Job Graph page.

  • A folyamat alapértelmezés szerint ki van jelölve. Ellenőrizze az adatfolyamot a Megjelenítés legördülő menü Olvasás vagy Írásparancsával.

    Check the data flow on the Spark Application & Job Graph page.

  • Az egyes tevékenységek háttérszíne egy hőtérképnek felel meg.

    The heat map on the Spark Application & Job Graph page.

    Color Leírás
    Zöld A feladat sikeresen befejeződött.
    Narancssárga A feladat sikertelen volt, de ez nem befolyásolja a feladat végeredményét. Ezek a feladatok ismétlődő vagy újrapróbálkozó példányokkal rendelkeznek, amelyek később sikeresek lehetnek.
    Kék A feladat fut.
    Fehér A feladat futásra vár, vagy a szakasz kihagyva.
    Piros A feladat meghiúsult.

    Running a task on the Spark Application & Job Graph page.

    A kihagyott szakaszok fehér színben jelennek meg. A skipped task on the Spark Application & Job Graph page.

    A failed task on the Spark Application & Job Graph page.

    Feljegyzés

    A lejátszás befejezett feladatokhoz érhető el. Válassza a Lejátszás gombot a feladat visszajátszásához. Állítsa le a feladatot bármikor a leállítás gomb kiválasztásával. Amikor egy feladat visszajátszott, minden tevékenység szín szerint jeleníti meg az állapotát. A nem teljes feladatok lejátszása nem támogatott.

  • Görgessen a feladatdiagram nagyításához vagy kicsinyítéséhez, vagy válassza a Nagyítás lehetőséget, hogy elférjen a képernyőn.

    Select Zoom to fit on the Spark Application & Job Graph page.

  • Ha a feladatok sikertelenek, vigye az egérmutatót a gráfcsomópontra az elemleírás megtekintéséhez, majd válassza ki a szakaszt egy új lapon való megnyitásához.

    View the tooltip on the Spark Application & Job Graph page.

  • A Spark-alkalmazás és a Feladatdiagram lapon a szakaszok elemleírásokat és kis ikonokat fognak megjeleníteni, ha a feladatok megfelelnek az alábbi feltételeknek:

    • Adateltérés: Az adatolvasás átlagos > adatolvasási mérete az ebben a fázisban lévő összes tevékenységhez * 2 , az adatolvasás mérete > pedig 10 MB.

    • Időeltérés: Az ebben a szakaszban lévő összes tevékenység végrehajtási idejének > átlagos végrehajtási ideje * 2 és végrehajtási idő > 2 perc.

      The skewed task icon on the Spark Application & Job Graph page.

  • A feladatdiagram csomópontja a következő információkat jeleníti meg az egyes fázisokról:

    • ID (Azonosító)

    • Név vagy leírás

    • Tevékenység teljes száma

    • Adatolvasás: a bemeneti méret és az elegyítés olvasási méretének összege

    • Adatírás: a kimeneti méret és a shuffle írási méret összege

    • Végrehajtási idő: az első kísérlet kezdő időpontja és az utolsó kísérlet befejezési ideje közötti idő

    • Sorszám: a bemeneti rekordok, a kimeneti rekordok, az olvasmány-olvasási rekordok és az elegyítési írási rekordok összege

    • Előrehaladás

      Feljegyzés

      Alapértelmezés szerint a feladatgráf csomópont az egyes fázisok utolsó kísérletéből származó információkat jeleníti meg (kivéve a fázisvégrehajtási időt). A lejátszás során azonban a feladatgráf csomópont minden egyes kísérletről információkat jelenít meg.

      Feljegyzés

      Adatolvasási és adatírási méretek esetén 1 MB = 1000 KB = 1000 * 1000 bájtot használunk.

  • Küldjön visszajelzést a problémákról a Visszajelzés küldése lehetőséget választva.

    The feedback option on the Spark Application & Job Graph page.

A Spark-előzmények kiszolgáló Diagnosztikák lapjának használata

Válassza ki a feladatazonosítót, majd az eszköz menüjében válassza a Diagnosztika lehetőséget a feladatdiagnosztika nézet megtekintéséhez. A Diagnosztika lap tartalmazza az adateltérés, az időeltérés és a végrehajtói használat elemzését.

  • Tekintse át az adateltérést, az időeltérést és a végrehajtói használat elemzését a fülek kiválasztásával.

    The Data Skew tab within the Diagnosis tab.

Egyenetlen adateloszlás

Válassza az Adateltérés lapot. A megfelelő ferde tevékenységek a megadott paraméterek alapján jelennek meg.

Paraméterek megadása

A Paraméterek megadása szakasz megjeleníti azokat a paramétereket, amelyek az adateltérés észlelésére szolgálnak. Az alapértelmezett szabály a következő: A tevékenységadatok olvasása nagyobb, mint az átlagosan beolvasott tevékenységadatok háromszorosa, és a tevékenységadatok olvasása több mint 10 MB. Ha saját szabályt szeretne definiálni a ferde tevékenységekhez, kiválaszthatja a paramétereket. A Ferde szakasz és a Ferde diagram szakaszok ennek megfelelően frissülnek.

Ferde szakasz

A Ferde szakasz szakasz olyan szakaszokat jelenít meg, amelyekben a megadott feltételeknek megfelelő tevékenységek eltérőek. Ha egy fázisban egynél több ferde tevékenység található, a Ferde szakasz szakasz csak a leginkább ferde tevékenységet jeleníti meg (vagyis az adateltérés legnagyobb adatait).

Larger view of the Data Skew tab within the Diagnosis tab.

Ferde diagram

Amikor kijelöl egy sort a Ferde fázis táblában, a Ferde diagram további tevékenységelosztási adatokat jelenít meg az adatok olvasási és végrehajtási ideje alapján. A ferde tevékenységek pirossal, a normál tevékenységek kék színnel vannak megjelölve. A teljesítmény szempontjából a diagram legfeljebb 100 mintatevékenységet jelenít meg. A feladat részletei a jobb alsó panelen jelennek meg.

The Skew Chart for Stage 10 in the Spark UI.

Időeltérés

Az Időeloszlás lap a tevékenységek végrehajtási ideje alapján jeleníti meg a ferde tevékenységeket.

Paraméterek megadása

A Paraméterek megadása szakasz megjeleníti azokat a paramétereket, amelyek az időeltérés észlelésére szolgálnak. Az alapértelmezett szabály a következő: A tevékenység végrehajtási ideje az átlagos végrehajtási idő háromszorosa, a tevékenység végrehajtási ideje pedig 30 másodpercnél hosszabb. A paramétereket igény szerint módosíthatja. A Ferde szakasz és a Ferde diagram a megfelelő fázisokat és tevékenységeket jeleníti meg, ugyanúgy, mint az Adateltérés lapon.

Amikor az Időeltérés lehetőséget választja, a szűrt eredmény a Ferde fázis szakaszban jelenik meg a Paraméterek megadása szakaszban megadott paramétereknek megfelelően. Amikor kiválaszt egy elemet a Ferde fázis szakaszban, a megfelelő diagram a harmadik szakaszban lesz megrajzolt, a tevékenység részletei pedig a jobb alsó panelen jelennek meg.

The Time skew tab within the Diagnosis tab.

Végrehajtói használatelemzési grafikonok

A Végrehajtó használati gráfja megjeleníti a feladat tényleges végrehajtói lefoglalási és futtatási állapotát.

A Végrehajtók kihasználtságának elemzése lehetőséget választva a rendszer négy különböző görbét készít a végrehajtók használatára vonatkozóan: lefoglalt végrehajtók, futó végrehajtók, tétlen végrehajtók és maximális végrehajtópéldányok. Minden hozzáadott vagy végrehajtó által eltávolított esemény növeli vagy csökkenti a lefoglalt végrehajtókat. További összehasonlításért tekintse meg az esemény ütemtervét a Feladatok lapon.

The Executor Usage Analysis tab within the Diagnosis tab.

Válassza a szín ikont a megfelelő tartalom kijelöléséhez vagy kijelölésének megszüntetéséhez az összes piszkozatban.

Select the chart in the Executor Usage Analysis tab.

GYIK

Hogyan visszatérni a közösségi verzióra?

A közösségi verzióra való visszatéréshez hajtsa végre az alábbi lépéseket.

  1. Nyissa meg a fürtöt az Ambariban.

  2. Lépjen a Spark2>konfigurációihoz.

  3. Válassza ki az egyéni spark2 alapértelmezett értékeket.

  4. Válassza a Tulajdonság hozzáadása ...lehetőséget.

  5. Adja hozzá a spark.ui.enhancement.enabled=false értéket, majd mentse.

  6. A tulajdonság most hamis értékre van állítva.

  7. A konfiguráció mentéséhez válassza a Mentés lehetőséget.

    Turn off a feature in Apache Ambari.

  8. Válassza a Spark2 lehetőséget a bal oldali panelen. Ezután az Összegzés lapon válassza a Spark2 Előzménykiszolgáló lehetőséget.

    The summary view in Apache Ambari.

  9. A Spark Előzménykiszolgáló újraindításához kattintson a Spark2 Előzménykiszolgáló jobb oldalán található Start gombra, majd válassza az Újraindítás lehetőséget a legördülő menüből.

    Restart the Spark History Server in Apache Ambari.

  10. Frissítse a Spark History Server webes felhasználói felületét. Visszaáll a közösségi verzióra.

Hogyan feltölteni egy Spark History Server-eseményt, hogy problémaként jelentse?

Ha hibát tapasztal a Spark History Serverben, tegye az alábbi lépéseket az esemény jelentéséhez.

  1. Az esemény letöltéséhez válassza a Letöltés lehetőséget a Spark History Server webes felhasználói felületén.

    Download the event in the Spark History Server UI.

  2. Válassza a Visszajelzés küldése lehetőséget a Spark-alkalmazás & Job Graph oldalról.

    Provide feedback on the Spark Application & Job Graph page.

  3. Adja meg a hiba címét és leírását. Ezután húzza a .zip fájlt a szerkesztési mezőbe, és válassza az Új probléma elküldése lehetőséget.

    Upload and submit a new issue.

Hogyan .jar fájl frissítése gyorsjavítási forgatókönyvben?

Ha gyorsjavítással szeretne frissíteni, használja a következő szkriptet, amely frissít spark-enhancement.jar*.

upgrade_spark_enhancement.sh:

 #!/usr/bin/env bash

 # Copyright (C) Microsoft Corporation. All rights reserved.

 # Arguments:
 # $1 Enhancement jar path

 if [ "$#" -ne 1 ]; then
     >&2 echo "Please provide the upgrade jar path."
     exit 1
 fi

 install_jar() {
     tmp_jar_path="/tmp/spark-enhancement-hotfix-$( date +%s )"

     if wget -O "$tmp_jar_path" "$2"; then
         for FILE in "$1"/spark-enhancement*.jar
         do
             back_up_path="$FILE.original.$( date +%s )"
             echo "Back up $FILE to $back_up_path"
             mv "$FILE" "$back_up_path"
             echo "Copy the hotfix jar file from $tmp_jar_path   to $FILE"
             cp "$tmp_jar_path" "$FILE"

             "Hotfix done."
             break
         done
     else    
         >&2 echo "Download jar file failed."
         exit 1
     fi
 }

 jars_folder="/usr/hdp/current/spark2-client/jars"
 jar_path=$1

 if ls ${jars_folder}/spark-enhancement*.jar 1>/dev/null 2>&1;   then
     install_jar "$jars_folder" "$jar_path"
 else
     >&2 echo "There is no target jar on this node. Exit with no action."
     exit 0
 fi

Használat

upgrade_spark_enhancement.sh https://${jar_path}

Példa

upgrade_spark_enhancement.sh https://${account_name}.blob.core.windows.net/packages/jars/spark-enhancement-${version}.jar

A bash-fájl használata az Azure Portalról

  1. Indítsa el az Azure Portalt, majd válassza ki a fürtöt.

  2. Végezzen el egy szkriptműveletet az alábbi paraméterekkel.

    Tulajdonság Érték
    Szkript típusa -Egyéni
    Név UpgradeJar
    Bash-szkript URI https://hdinsighttoolingstorage.blob.core.windows.net/shsscriptactions/upgrade_spark_enhancement.sh
    Csomóponttípus(ok) Vezető, feldolgozó
    Paraméterek https://${account_name}.blob.core.windows.net/packages/jars/spark-enhancement-${version}.jar

    Azure portal submit script action.

Ismert problémák

  • A Spark History Server jelenleg csak a Spark 2.3-hoz és a 2.4-hez működik.

  • Az RDD-t használó bemeneti és kimeneti adatok nem jelennek meg az Adatok lapon.

Következő lépések

Javaslatok

Ha bármilyen visszajelzése van, vagy bármilyen problémát tapasztal az eszköz használatakor, küldjön egy e-mailt a (hdivstool@microsoft.com) címre.