Freigeben über


Debuggen von fehlgeschlagenen Spark-Aufträgen mit dem Azure-Toolkit für IntelliJ (Vorschau)

Dieser Artikel enthält eine ausführliche Anleitung zur Verwendung der HDInsight-Tools im Azure-Toolkit für IntelliJ zum Ausführen von Anwendungen für das Debuggen von fehlgeschlagenen Spark-Aufträgen.

Voraussetzungen

Erstellen eines Projekts mit Debugvorlage

Erstellen Sie ein Spark 2.3.2-Projekt, um das Debuggen fortzusetzen. Verwenden Sie die Beispieldatei für das Debuggen von Aufgaben in diesem Dokument.

  1. Öffnen Sie IntelliJ IDEA. Öffnen Sie das Fenster Neues Projekt.

    a. Wählen Sie im linken Bereich Azure Spark/HDInsight aus.

    b. Wählen Sie im Hauptfenster Spark-Projekt mit Beispielen zum Debuggen von Fehleraufgaben (Vorschau) (Scala) aus.

    IntelliJ – Debugprojekt erstellen.

    c. Wählen Sie Weiter aus.

  2. Führen Sie im Fenster New Project (Neues Projekt) die folgenden Schritte aus:

    IntelliJ – Neues Projekt – Spark-Version auswählen.

    a. Geben Sie einen Projektnamen und -speicherort an.

    b. Wählen Sie in der Dropdownliste Project SDK (Projekt-SDK) Java 1.8 für den Spark 2.3.2-Cluster aus.

    c. Wählen Sie in der Dropdown-Liste Spark-Version den Eintrag Spark 2.3.2 (Scala 2.11.8) aus.

    d. Wählen Sie Fertig stellen aus.

  3. Wählen Sie src>main>scala aus, um Ihren Code im Projekt zu öffnen. In diesem Beispiel wird das Skript AgeMean_Div() verwendet.

Ausführen einer Spark Scala- bzw. einer Java-Anwendung in einem HDInsight-Cluster

Erstellen Sie eine Spark Scala- bzw. Java-Anwendung, und führen Sie die Anwendung dann in einem Spark-Cluster aus, indem Sie die folgenden Schritte ausführen:

  1. Klicken Sie auf Konfiguration hinzufügen, um das Fenster Run/Debug Configurations (Konfigurationen ausführen/debuggen) zu öffnen.

    HDI – IntelliJ – Konfiguration hinzufügen.

  2. Wählen Sie im Dialogfeld Run/Debug Configurations (Konfigurationen ausführen/debuggen) das Plussymbol (+) aus. Wählen Sie dann die Option Apache Spark auf HDInsight aus.

    IntelliJ – Neue Konfiguration hinzufügen.

  3. Wechseln Sie zur Registerkarte Remotely Run in Cluster (Im Cluster remote ausführen). Geben Sie Informationen für Name, Spark cluster und Main class name (Name der main-Klasse) ein. Unseren Tools unterstützen das Debuggen mit Executors. Der Standardwert von numExecutors ist 5. Es empfiehlt sich, hierfür keinen höheren Wert als 3 festzulegen. Wenn Sie die Laufzeit verkürzen möchten, können Sie spark.yarn.maxAppAttempts zu Job Configurations (Auftragskonfigurationen) hinzufügen und den Wert auf 1 festlegen. Klicken Sie auf OK, um die Konfiguration zu speichern.

    IntelliJ – Neue Konfigurationen debuggen/ausführen.

  4. Die Konfiguration wird jetzt unter dem von Ihnen angegebenen Namen gespeichert. Um die Konfigurationsdetails anzuzeigen, wählen Sie den Konfigurationsnamen aus. Um Änderungen vorzunehmen, wählen Sie Edit Configurations (Konfigurationen bearbeiten) aus.

  5. Nachdem Sie die Konfigurationseinstellungen abgeschlossen haben, können Sie das Projekt für den Remotecluster ausführen.

    IntelliJ – Spark-Auftrag remote debuggen – Schaltfläche „Remote ausführen“.

  6. Sie können die Anwendungs-ID im Ausgabefenster überprüfen.

    IntelliJ – Spark-Auftrag remote debuggen – Ergebnis von „Remote ausführen“.

Herunterladen des Profils des fehlgeschlagenen Auftrags

Wenn die Auftragsübermittlung fehlschlägt, können Sie das Profil des fehlgeschlagenen Auftrags zum weiteren Debuggen auf den lokalen Computer herunterladen.

  1. Öffnen Sie den Microsoft Azure Storage-Explorer, suchen Sie das HDInsight-Konto des Clusters mit dem fehlgeschlagenen Auftrag, und laden Sie die Ressourcen des fehlgeschlagenen Auftrags vom entsprechenden Speicherort (\hdp\spark2-events\.spark-failures\<Anwendungs-ID>) in einen lokalen Ordner herunter. Im Fenster Aktivitäten wird der Downloadfortschritt angezeigt.

    Azure Storage-Explorer – Download fehlerhaft.

    Azure Storage-Explorer – Download erfolgreich.

Konfigurieren der lokalen Debugumgebung und Debuggen eines Fehlers

  1. Öffnen Sie das ursprüngliche Projekt, oder erstellen Sie ein neues Projekt, und ordnen Sie es dem ursprünglichen Quellcode zu. Derzeit wird das Debuggen von Fehlern nur in der Spark 2.3.2-Version unterstützt.

  2. Erstellen Sie in IntelliJ IDEA unter Spark Failure Debug (Debuggen von Spark-Fehlern) eine Konfigurationsdatei, und wählen Sie für das Feld Spark Job Failure Context location (Speicherort des Fehlerkontexts für den Spark-Auftrag) die FTD-Datei für die zuvor heruntergeladenen Ressourcen des fehlgeschlagenen Auftrags aus.

    create-failure-configuration.

  3. Klicken Sie auf der Symbolleiste auf die Schaltfläche für lokales Ausführen, und der Fehler wird im Ausführungsfenster angezeigt.

    run-failure-configuration1.

    run-failure-configuration2.

  4. Legen Sie den im Protokoll angegebenen Haltepunkt fest, und klicken Sie dann auf die Schaltfläche für das lokale Debuggen, um das lokale Debuggen wie in normalen Scala-/Java-Projekten in IntelliJ auszuführen.

  5. Wenn das Projekt nach dem Debuggen erfolgreich abgeschlossen wurde, können Sie den fehlgeschlagenen Auftrag erneut an Ihr Spark-Projekt im HDInsight-Cluster übermitteln.

Nächste Schritte

Szenarien

Erstellen und Ausführen von Anwendungen

Tools und Erweiterungen

Ressourcen verwalten