Udostępnij za pośrednictwem


Debugowanie i diagnozowanie aplikacji platformy Apache Spark za pomocą rozszerzonego serwera historii platformy Apache Spark

Ten artykuł zawiera wskazówki dotyczące używania rozszerzonego serwera historii platformy Apache Spark do debugowania i diagnozowania ukończonych i uruchomionych aplikacji platformy Apache Spark.

Dostęp do serwera historii platformy Apache Spark

Serwer historii platformy Apache Spark to internetowy interfejs użytkownika dla ukończonych i uruchomionych aplikacji Platformy Spark. Możesz otworzyć internetowy interfejs użytkownika platformy Apache Spark z notesu wskaźnika postępu lub strony szczegółów aplikacji platformy Apache Spark.

Otwieranie internetowego interfejsu użytkownika platformy Spark z notesu wskaźnika postępu

Po wyzwoleniu zadania platformy Apache Spark przycisk otwierania internetowego interfejsu użytkownika platformy Spark znajduje się wewnątrz opcji Więcej akcji w wskaźniku postępu. Wybierz pozycję Internetowy interfejs użytkownika platformy Spark i poczekaj kilka sekund, a następnie zostanie wyświetlona strona interfejsu użytkownika platformy Spark.

Zrzut ekranu przedstawiający otwieranie internetowego interfejsu użytkownika platformy Spark z notesu wskaźnika postępu.

Otwieranie internetowego interfejsu użytkownika platformy Spark ze strony szczegółów aplikacji platformy Apache Spark

Internetowy interfejs użytkownika platformy Spark można również otworzyć za pośrednictwem strony szczegółów aplikacji platformy Apache Spark. Wybierz pozycję Centrum monitorowania po lewej stronie, a następnie wybierz aplikację Platformy Apache Spark. Zostanie wyświetlona strona szczegółów aplikacji.

Zrzut ekranu przedstawiający otwieranie internetowego interfejsu użytkownika platformy Spark ze strony szczegółów aplikacji platformy Apache Spark.

W przypadku aplikacji platformy Apache Spark, której stan jest uruchomiony, przycisk zawiera interfejs użytkownika platformy Spark. Wybierz pozycję Interfejs użytkownika platformy Spark, a zostanie wyświetlona strona Interfejs użytkownika platformy Spark.

Zrzut ekranu przedstawiający przycisk wyświetla interfejs użytkownika platformy Spark w stanie uruchomienia.

W przypadku aplikacji platformy Apache Spark, której stan jest zakończony, stan zakończenia może być zatrzymany, niepowodzenie, anulowane lub ukończone. Przycisk zawiera serwer historii platformy Spark. Wybierz pozycję Serwer historii platformy Spark, a zostanie wyświetlona strona interfejsu użytkownika platformy Spark.

Zrzut ekranu przedstawiający przycisk wyświetla interfejs użytkownika platformy Spark w stanie końcowym.

Karta Grafu na serwerze historii platformy Apache Spark

Wybierz identyfikator zadania, które chcesz wyświetlić. Następnie wybierz pozycję Graph w menu narzędzi, aby pobrać widok wykresu zadania.

Omówienie

W wygenerowanym grafie zadań można wyświetlić przegląd zadania. Domyślnie wykres pokazuje wszystkie zadania. Ten widok można filtrować według identyfikatora zadania.

Zrzut ekranu przedstawiający identyfikator zadania grafu aplikacji platformy Spark i zadania.

Wyświetlanie

Domyślnie jest zaznaczony ekran Postęp . Przepływ danych można sprawdzić, wybierając pozycję Odczyt lub Zapis na liście rozwijanej Wyświetlanie.

Zrzut ekranu przedstawiający wyświetlanie aplikacji platformy Spark i wykresu zadań.

Węzeł grafu wyświetla kolory wyświetlane w legendzie mapy cieplnej.

Zrzut ekranu przedstawiający mapę cieplną aplikacji platformy Spark i wykresu zadań.

Odtwarzanie

Aby odtworzyć zadanie, wybierz pozycję Odtwarzanie. Możesz wybrać pozycję Zatrzymaj w dowolnym momencie, aby zatrzymać. Kolory zadań pokazują różne stany podczas odtwarzania:

Color Znaczenie
Green (Zielony) Powodzenie: zadanie zostało ukończone pomyślnie.
Orange Ponowienia: wystąpienia zadań, które zakończyły się niepowodzeniem, ale nie mają wpływu na ostateczny wynik zadania. Te zadania miały zduplikowane lub ponawiane próby wystąpienia, które mogą zakończyć się powodzeniem później.
Niebieskie Uruchomione: zadanie jest uruchomione.
Biała Oczekiwanie lub pominięte: zadanie czeka na uruchomienie lub etap został pominięty.
Czerwony Niepowodzenie: zadanie nie powiodło się.

Na poniższej ilustracji przedstawiono kolory stanu zielony, pomarańczowy i niebieski.

Zrzut ekranu przedstawiający przykładową aplikację platformy Spark i kolor grafu zadań.

Na poniższej ilustracji przedstawiono kolory stanu zielone i białe.

Zrzut ekranu przedstawiający przykładową aplikację platformy Spark i kolor grafu zadań, pomiń.

Na poniższej ilustracji przedstawiono kolory stanu czerwony i zielony.

Zrzut ekranu przedstawiający przykładową aplikację platformy Spark i kolor grafu zadań, które zakończyły się niepowodzeniem.

Uwaga

Serwer historii platformy Apache Spark umożliwia odtwarzanie dla każdego ukończonego zadania (ale nie zezwala na odtwarzanie niekompletnych zadań).

Powiększ

Użyj przewijania myszy, aby powiększać i powiększać wykres zadania lub wybrać pozycję Powiększ, aby dopasować go do ekranu.

Zrzut ekranu przedstawiający powiększenie aplikacji platformy Spark i wykresu zadań w celu dopasowania.

Etykietki narzędzi

Zatrzymaj wskaźnik myszy na węźle grafu, aby wyświetlić etykietkę narzędzia, gdy zadania zakończyły się niepowodzeniem, i wybierz etap, aby otworzyć stronę etapu.

Zrzut ekranu przedstawiający etykietkę narzędzia aplikacji platformy Spark i wykresu zadań.

Na karcie grafu zadań etapy mają etykietkę narzędzia i małą ikonę wyświetlaną, jeśli mają zadania spełniające następujące warunki:

Warunek opis
Niesymetryczność danych Średni rozmiar odczytu danych rozmiar > odczytu wszystkich zadań w tym etapie * 2 i rozmiar > odczytu danych 10 MB.
Niesymetryczność czasu > Średni czas wykonywania wszystkich zadań w tym etapie * 2 i czas > wykonywania 2 minut.

Zrzut ekranu przedstawiający ikonę niesymetryczności wykresu zadań i aplikacji platformy Spark.

Opis węzła grafu

Węzeł grafu zadania wyświetla następujące informacje dotyczące każdego etapu:

  • ID
  • Nazwa lub opis
  • Łączna liczba zadań
  • Odczyt danych: suma rozmiaru danych wejściowych i rozmiaru odczytu mieszania
  • Zapis danych: suma rozmiaru danych wyjściowych i rozmiaru operacji mieszania operacji zapisu
  • Czas wykonywania: czas między godziną rozpoczęcia pierwszej próby a czasem zakończenia ostatniej próby
  • Liczba wierszy: suma rekordów wejściowych, rekordów wyjściowych, mieszania rekordów odczytu i mieszania rekordów zapisu
  • Postęp

Uwaga

Domyślnie węzeł wykresu zadania wyświetla informacje z ostatniej próby każdego etapu (z wyjątkiem czasu wykonywania etapu). Jednak podczas odtwarzania węzeł grafu wyświetla informacje o każdej próbie.

Rozmiar danych odczytu i zapisu wynosi 1 MB = 1000 KB = 1000 * 1000 bajtów.

Przekazywanie opinii

Wyślij opinię z problemami, wybierając pozycję Przekaż nam opinię.

Zrzut ekranu przedstawiający opinie dotyczące aplikacji platformy Spark i wykresu zadań.

Limit liczby etapów

W przypadku zagadnienia dotyczącego wydajności wykres jest domyślnie dostępny tylko wtedy, gdy aplikacja Spark ma mniej niż 500 etapów. Jeśli istnieje zbyt wiele etapów, wystąpi błąd podobny do następującego:

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

Aby obejść ten problem, przed uruchomieniem aplikacji Spark zastosuj tę konfigurację platformy Spark, aby zwiększyć limit:

spark.ui.enhancement.maxGraphStages 1000

Należy jednak zauważyć, że może to spowodować złą wydajność strony i interfejsu API, ponieważ zawartość może być zbyt duża, aby przeglądarka mogła pobierać i renderować.

Eksplorowanie karty Diagnostyka na serwerze historii platformy Apache Spark

Aby uzyskać dostęp do karty Diagnostyka, wybierz identyfikator zadania. Następnie wybierz pozycję Diagnoza w menu narzędzi, aby uzyskać widok Diagnostyka zadania. Karta diagnostyki zawiera dane niesymetryczność, niesymetryczność czasu i analizę użycia funkcji wykonawczej.

Sprawdź niesymetryczność danych, niesymetryczność czasu i analizę użycia funkcji wykonawczej, wybierając odpowiednio karty.

Zrzut ekranu przedstawiający kartę niesymetryczności danych diagnostyki sparkUI.

Niesymetryczność danych

Po wybraniu karty Niesymetryczność danych odpowiednie niesymetryczne zadania są wyświetlane na podstawie określonych parametrów.

  • Określ parametry — pierwsza sekcja wyświetla parametry używane do wykrywania niesymetryczności danych. Reguła domyślna to: odczyt danych zadania jest większy niż trzy razy w odczytywaniu średnich danych zadania, a odczyt danych zadania wynosi ponad 10 MB. Jeśli chcesz zdefiniować własną regułę dla niesymetrycznych zadań, możesz wybrać parametry. Sekcje Etap niesymetryczny i Niesymetryczny znak są odpowiednio odświeżane.

  • Etap niesymetryczny — druga sekcja zawiera etapy, które mają niesymetryczne zadania spełniające wcześniej określone kryteria. Jeśli na etapie istnieje więcej niż jedno niesymetryczne zadanie, tabela etapu niesymetrycznego wyświetla tylko najbardziej niesymetryczne zadanie (na przykład największe dane dotyczące niesymetryczności danych).

    Zrzut ekranu przedstawiający kartę niesymetryczności danych diagnostyki interfejsu użytkownika platformy Spark.

  • Wykres niesymetryczny — po wybraniu wiersza w tabeli etapów niesymetryczności wykres niesymetryczny wyświetla więcej szczegółów dystrybucji zadań na podstawie czasu odczytu i wykonywania danych. Zadania niesymetryczne są oznaczone kolorem czerwonym, a normalne zadania są oznaczone kolorem niebieskim. Na wykresie jest wyświetlanych maksymalnie 100 przykładowych zadań, a szczegóły zadania są wyświetlane w prawym dolnym panelu.

    Zrzut ekranu przedstawiający wykres niesymetryczności interfejsu użytkownika platformy Spark dla etapu 10.

Niesymetryczność czasu

Karta Niesymetryczność czasu wyświetla niesymetryczne zadania na podstawie czasu wykonywania zadania.

  • Określ parametry — pierwsza sekcja wyświetla parametry, które są używane do wykrywania niesymetryczności czasu. Domyślne kryteria wykrywania niesymetryczności czasu to: czas wykonywania zadania jest większy niż trzy razy średniego czasu wykonywania, a czas wykonywania zadania jest dłuższy niż 30 sekund. Parametry można zmienić na podstawie Twoich potrzeb. Wykres niesymetryczny etapu i niesymetryczności wyświetla odpowiednie etapy i informacje o zadaniach, podobnie jak karta Niesymetryczność danych opisana wcześniej.

  • Wybierz pozycję Niesymetryczność czasu, a następnie filtrowany wynik jest wyświetlany w sekcji Etap niesymetryczny zgodnie z parametrami ustawionymi w sekcji Określanie parametrów. Wybierz jeden element w sekcji Etap niesymetryczny, a następnie odpowiedni wykres jest opracowywany w sekcji 3, a szczegóły zadania są wyświetlane w prawym dolnym panelu.

    Zrzut ekranu przedstawiający sekcję niesymetryczności czasu diagnostyki platformy Spark ui.

Analiza użycia funkcji wykonawczej

Ta funkcja została teraz przestarzała w usłudze Fabric. Jeśli nadal chcesz użyć tego jako obejścia, uzyskaj dostęp do strony, jawnie dodając ciąg "/executorusage" za ścieżką "/diagnostic" w adresie URL, w następujący sposób:

Zrzut ekranu przedstawiający modyfikowanie adresu URL.