Condividi tramite


Debug del processo Spark non riuscito con Azure Toolkit for IntelliJ (anteprima)

Questo articolo fornisce istruzioni dettagliate su come usare gli strumenti HDInsight in Azure Toolkit for IntelliJ per eseguire applicazioni di debug degli errori Spark.

Prerequisiti

Creare un progetto con un modello di debug

Creare un progetto spark2.3.2 per continuare il debug degli errori, eseguire il debug dell'attività di errore nel file di esempio in questo documento.

  1. Aprire IntelliJ IDEA. Aprire la finestra Nuovo progetto .

    a. Selezionare Azure Spark/HDInsight nel riquadro sinistro.

    b. Selezionare Spark Project with Failure Task Debugging Sample(Preview)(Scala) (Progetto Spark con debug attività di errore(anteprima)(Scala) dalla finestra principale.

    Intellij Create a debug project.

    c. Selezionare Avanti.

  2. Nella finestra di dialogo New Project (Nuovo progetto) eseguire questa procedura:

    Intellij New Project select Spark version.

    a. Specificare un nome per il progetto e il relativo percorso.

    b. Nell'elenco a discesa Project SDK selezionare Java 1.8 per cluster Spark 2.3.2 .

    c. Nell'elenco a discesa Versione Spark selezionare Spark 2.3.2(Scala 2.11.8).

    d. Selezionare Fine.

  3. Selezionare src>main>scala per aprire il codice nel progetto. In questo esempio viene usato lo script AgeMean_Div().

Eseguire un'applicazione Spark Scala/Java in un cluster HDInsight

Creare un'applicazione Spark Scala/Java, quindi eseguire l'applicazione in un cluster Spark seguendo questa procedura:

  1. Fare clic su Aggiungi configurazione per aprire la finestra Run/Debug Configurations (Configurazioni di esecuzione/debug).

    HDI Intellij Add configuration.

  2. Nella finestra di dialogo Run/Debug Configurations (Esegui/Debug delle configurazioni) selezionare il segno più (+). Selezionare quindi l'opzione Apache Spark in HDInsight .

    Intellij Add new configuration.

  3. Passare alla scheda Esecuzione remota nel cluster . Immettere le informazioni per Nome, Cluster Spark e Nome classe principale. Questi strumenti supportano il debug con executor. numExectors, il valore predefinito è 5 e non impostare un valore superiore a 3. Per ridurre il tempo di esecuzione, è possibile aggiungere spark.yarn.maxAppAttempts in Configurazioni processo e impostare il valore su 1. Fare clic sul pulsante OK per salvare la configurazione.

    Intellij Run debug configurations new.

  4. A questo punto, la configurazione viene salvata con il nome specificato. Per visualizzare i dettagli della configurazione, selezionare il relativo nome. Per apportare modifiche, selezionare Modifica configurazioni.

  5. Dopo aver completato le impostazioni di configurazione, è possibile eseguire il progetto nel cluster remoto.

    Intellij Debug Remote Spark Job Remote run button.

  6. È possibile controllare l'ID applicazione dalla finestra di output.

    Intellij Debug Remote Spark Job Remote run result.

Scaricare il profilo di processo non riuscito

Se l'invio del processo non riesce, è possibile scaricare il profilo di processo non riuscito nel computer locale per un ulteriore debug.

  1. Aprire Archiviazione di Microsoft Azure Explorer, individuare l'account HDInsight del cluster per il processo non riuscito, scaricare le risorse del processo non riuscito dal percorso corrispondente: \hdp\spark2-events\.spark-failures\<ID> applicazione in una cartella locale. La finestra attività mostrerà lo stato di avanzamento del download.

    Azure Storage Explorer download failure.

    Azure Storage Explorer download success.

Configurare l'ambiente di debug locale ed eseguire il debug in caso di errore

  1. Aprire il progetto originale o creare un nuovo progetto e associarlo al codice sorgente originale. Attualmente è supportata solo la versione spark2.3.2 per il debug degli errori.

  2. In IntelliJ IDEA creare un file di configurazione debug errori Spark, selezionare il file FTD dalle risorse del processo non riuscito precedentemente scaricate per il campo Percorso contesto errore processo Spark.

    crete failure configuration.

  3. Fare clic sul pulsante Esecuzione locale sulla barra degli strumenti. L'errore verrà visualizzato nella finestra Esegui.

    run-failure-configuration1.

    run-failure-configuration2.

  4. Impostare il punto di interruzione come indicato dal log, quindi fare clic sul pulsante debug locale per eseguire il debug locale esattamente come i normali progetti Scala/Java in IntelliJ.

  5. Dopo il debug, se il progetto viene completato correttamente, è possibile inviare di nuovo il processo non riuscito al cluster Spark nel cluster HDInsight.

Passaggi successivi

Scenari

Creare ed eseguire applicazioni

Strumenti ed estensioni

Gestione risorse