Niepowodzenie debugowania zadań platformy Spark za pomocą zestawu narzędzi Azure Toolkit for IntelliJ (wersja zapoznawcza)

Ten artykuł zawiera szczegółowe wskazówki dotyczące używania narzędzi HDInsight Tools w zestawie narzędzi Azure Toolkit for IntelliJ do uruchamiania aplikacji Debugowanie błędów platformy Spark.

Wymagania wstępne

Tworzenie projektu przy użyciu szablonu debugowania

Utwórz projekt spark2.3.2, aby kontynuować debugowanie błędów, wykonaj przykładowy plik debugowania zadania niepowodzenia w tym dokumencie.

  1. Otwórz środowisko IntelliJ IDEA. Otwórz okno Nowy projekt.

    a. Wybierz pozycję Azure Spark/HDInsight w okienku po lewej stronie.

    b. Wybierz pozycję Projekt Spark z przykładowym debugowaniem zadań niepowodzenia (wersja zapoznawcza)(Scala) w oknie głównym.

    Intellij Create a debug project.

    c. Wybierz Dalej.

  2. W oknie Nowy projekt wykonaj następujące czynności:

    Intellij New Project select Spark version.

    a. Wprowadź nazwę projektu i lokalizację projektu.

    b. Z listy rozwijanej Zestaw SDK projektu wybierz pozycję Java 1.8 dla klastra Spark 2.3.2 .

    c. Z listy rozwijanej Wersja platformy Spark wybierz pozycję Spark 2.3.2(Scala 2.11.8).

    d. Wybierz Zakończ.

  3. Wybierz pozycję src>main>scala, aby otworzyć kod w projekcie. W tym przykładzie użyto skryptu AgeMean_Div().

Uruchamianie aplikacji Spark Scala/Java w klastrze usługi HDInsight

Utwórz aplikację Spark Scala/Java, a następnie uruchom aplikację w klastrze Spark, wykonując następujące czynności:

  1. Kliknij pozycję Dodaj konfigurację , aby otworzyć okno Uruchom/Debugowanie konfiguracji.

    HDI Intellij Add configuration.

  2. W oknie dialogowym Konfiguracje uruchamiania/debugowania wybierz znak plus (+). Następnie wybierz opcję Apache Spark w usłudze HDInsight .

    Intellij Add new configuration.

  3. Przejdź do zdalnego uruchamiania na karcie Klaster . Wprowadź informacje o nazwach, klastrze Spark i nazwie klasy Main. Nasze narzędzia obsługują debugowanie za pomocą funkcji wykonawczej. Wartość domyślna numExectors to 5 i lepiej nie ustawić wartości wyższej niż 3. Aby skrócić czas wykonywania, możesz dodać element spark.yarn.maxAppAttempts do konfiguracji zadania i ustawić wartość na 1. Kliknij przycisk OK , aby zapisać konfigurację.

    Intellij Run debug configurations new.

  4. Konfiguracja jest teraz zapisywana przy użyciu podanej nazwy. Aby wyświetlić szczegóły konfiguracji, wybierz nazwę konfiguracji. Aby wprowadzić zmiany, wybierz pozycję Edytuj konfiguracje.

  5. Po zakończeniu ustawień konfiguracji można uruchomić projekt względem klastra zdalnego.

    Intellij Debug Remote Spark Job Remote run button.

  6. Identyfikator aplikacji można sprawdzić w oknie danych wyjściowych.

    Intellij Debug Remote Spark Job Remote run result.

Pobieranie profilu zadania nie powiodło się

Jeśli przesyłanie zadania nie powiedzie się, możesz pobrać profil zadania, który zakończył się niepowodzeniem, na maszynę lokalną w celu dalszego debugowania.

  1. Otwórz Eksplorator usługi Microsoft Azure Storage, znajdź konto usługi HDInsight klastra dla zadania, które zakończyło się niepowodzeniem, pobierz zasoby zadania, które zakończyły się niepowodzeniem, z odpowiedniej lokalizacji: \hdp\spark2-events\.spark-failures\<identyfikator> aplikacji do folderu lokalnego. W oknie działań zostanie wyświetlony postęp pobierania.

    Azure Storage Explorer download failure.

    Azure Storage Explorer download success.

Konfigurowanie lokalnego środowiska debugowania i debugowanie po niepowodzeniu

  1. Otwórz oryginalny projekt lub utwórz nowy projekt i skojarz go z oryginalnym kodem źródłowym. Obecnie debugowanie błędów jest obsługiwane tylko w wersji spark2.3.2.

  2. W środowisku IntelliJ IDEA utwórz plik konfiguracji debugowania niepowodzenia platformy Spark, wybierz plik FTD z wcześniej pobranych zasobów zadania, które zakończyły się niepowodzeniem dla pola Lokalizacja kontekstu niepowodzenia zadania platformy Spark.

    crete failure configuration.

  3. Kliknij przycisk uruchamiania lokalnego na pasku narzędzi. Błąd zostanie wyświetlony w oknie Uruchom.

    run-failure-configuration1.

    run-failure-configuration2.

  4. Ustaw punkt przerwania, jak wskazuje dziennik, a następnie kliknij przycisk lokalnego debugowania, aby wykonać debugowanie lokalne tak jak normalne projekty Scala / Java w środowisku IntelliJ.

  5. Po debugowaniu, jeśli projekt zakończy się pomyślnie, można ponownie przesłać zadanie zakończone niepowodzeniem do platformy Spark w klastrze usługi HDInsight.

Następne kroki

Scenariusze

Tworzenie i uruchamianie aplikacji

Narzędzia i rozszerzenia

Zarządzanie zasobami