Debugowanie zadań platformy Apache Spark uruchomionych w usłudze Azure HDInsight

Z tego artykułu dowiesz się, jak śledzić i debugować zadania platformy Apache Spark uruchomione w klastrach usługi HDInsight. Debuguj przy użyciu interfejsu użytkownika usługi Apache Hadoop YARN, interfejsu użytkownika platformy Spark i serwera historii platformy Spark. Uruchamiasz zadanie platformy Spark przy użyciu notesu dostępnego w klastrze Spark, Uczenie maszynowe: analiza predykcyjna danych inspekcji żywności przy użyciu biblioteki MLLib. Wykonaj poniższe kroki, aby śledzić aplikację przesłaną przy użyciu dowolnego innego podejścia, na przykład spark-submit.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Śledzenie aplikacji w interfejsie użytkownika usługi YARN

  1. Uruchom interfejs użytkownika usługi YARN. Wybierz pozycję Yarn w obszarze Pulpity nawigacyjne klastra.

    Azure portal launch YARN UI.

    Napiwek

    Alternatywnie możesz również uruchomić interfejs użytkownika usługi YARN z poziomu interfejsu użytkownika systemu Ambari. Aby uruchomić interfejs użytkownika systemu Ambari, wybierz pozycję Ambari home w obszarze Pulpity nawigacyjne klastra. W interfejsie użytkownika systemu Ambari przejdź do pozycji Szybkie linki> do> aktywnego interfejsu użytkownika usługi Resource Manager usługi Resource Manager.>

  2. Ponieważ uruchomiono zadanie spark przy użyciu notesów Jupyter Notebooks, aplikacja ma nazwę remotesparkmagics (nazwa wszystkich aplikacji uruchomionych z notesów). Wybierz identyfikator aplikacji względem nazwy aplikacji, aby uzyskać więcej informacji o zadaniu. Ta akcja powoduje uruchomienie widoku aplikacji.

    Spark history server Find Spark application ID.

    W przypadku takich aplikacji, które są uruchamiane z notesów Jupyter Notebook, stan jest zawsze uruchomiony do momentu zamknięcia notesu.

  3. W widoku aplikacji możesz przejść do szczegółów, aby dowiedzieć się więcej o kontenerach skojarzonych z aplikacją i dziennikach (stdout/stderr). Możesz również uruchomić interfejs użytkownika platformy Spark, klikając link odpowiadający adresowi URL śledzenia, jak pokazano poniżej.

    Spark history server download container logs.

Śledzenie aplikacji w interfejsie użytkownika platformy Spark

W interfejsie użytkownika platformy Spark możesz przejść do szczegółów zadań platformy Spark, które zostały zduplikowane przez uruchomioną wcześniej aplikację.

  1. Aby uruchomić interfejs użytkownika platformy Spark, w widoku aplikacji wybierz link względem adresu URL śledzenia, jak pokazano w powyższym przechwytywaniu ekranu. Wszystkie zadania platformy Spark, które są uruchamiane przez aplikację uruchomioną w notesie Jupyter Notebook.

    Spark history server jobs tab.

  2. Wybierz kartę Funkcje wykonawcze, aby wyświetlić informacje o przetwarzaniu i przechowywaniu dla każdego wykonawcy. Możesz również pobrać stos wywołań, wybierając link Zrzut wątku.

    Spark history server executors tab.

  3. Wybierz kartę Etapy , aby wyświetlić etapy skojarzone z aplikacją.

    Spark history server stages tab.

    Każdy etap może mieć wiele zadań, dla których można wyświetlić statystyki wykonywania, jak pokazano poniżej.

    Spark history server stages tab details.

  4. Na stronie szczegółów etapu możesz uruchomić wizualizację JĘZYKA DAG. Rozwiń link Wizualizacja języka DAG w górnej części strony, jak pokazano poniżej.

    View Spark stages DAG visualization.

    DaG lub Direct Aclyic Graph reprezentuje różne etapy w aplikacji. Każde niebieskie pole na grafie reprezentuje operację platformy Spark wywołaną z aplikacji.

  5. Na stronie szczegółów etapu można również uruchomić widok osi czasu aplikacji. Rozwiń link Oś czasu zdarzenia w górnej części strony, jak pokazano poniżej.

    View Spark stages event timeline.

    Ten obraz przedstawia zdarzenia platformy Spark w postaci osi czasu. Widok osi czasu jest dostępny na trzech poziomach, między zadaniami, w ramach zadania i na etapie. Powyższy obraz przechwytuje widok osi czasu dla danego etapu.

    Napiwek

    Jeśli zaznaczysz pole wyboru Włącz powiększanie , możesz przewinąć w lewo i w prawo w widoku osi czasu.

  6. Inne karty w interfejsie użytkownika platformy Spark zawierają również przydatne informacje o wystąpieniu platformy Spark.

    • Karta Magazyn — jeśli aplikacja tworzy RDD, możesz znaleźć informacje na karcie Magazyn.
    • Karta Środowisko — ta karta zawiera przydatne informacje o wystąpieniu platformy Spark, takie jak:
      • Wersja języka Scala
      • Katalog dziennika zdarzeń skojarzony z klastrem
      • Liczba rdzeni funkcji wykonawczej dla aplikacji

Znajdowanie informacji o ukończonych zadaniach przy użyciu serwera historii platformy Spark

Po zakończeniu zadania informacje o zadaniu są utrwalane na serwerze historii platformy Spark.

  1. Aby uruchomić serwer historii platformy Spark, na stronie Przegląd wybierz pozycję Serwer historii platformy Spark w obszarze Pulpity nawigacyjne klastra.

    Azure portal launch Spark history server.

    Napiwek

    Alternatywnie możesz również uruchomić interfejs użytkownika serwera historii platformy Spark z poziomu interfejsu użytkownika systemu Ambari. Aby uruchomić interfejs użytkownika systemu Ambari, w bloku Przegląd wybierz pozycję Ambari home w obszarze Pulpity nawigacyjne klastra. W interfejsie użytkownika systemu Ambari przejdź do interfejsu użytkownika serwera historii Spark2 Szybki link>Spark2.>

  2. Zostaną wyświetlone wszystkie ukończone aplikacje. Wybierz identyfikator aplikacji, aby przejść do szczegółów aplikacji, aby uzyskać więcej informacji.

    Spark history server completed applications.

Zobacz też