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.
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.
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.
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.
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.
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.
Węzeł grafu wyświetla kolory wyświetlane w legendzie mapy cieplnej.
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.
Na poniższej ilustracji przedstawiono kolory stanu zielone i białe.
Na poniższej ilustracji przedstawiono kolory stanu czerwony i zielony.
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.
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.
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. |
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ę.
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.
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).
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.
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.
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: