Share via


Falha desencadeia depuração de trabalho com o Kit de Ferramentas do Azure para IntelliJ (visualização)

Este artigo fornece orientação passo a passo sobre como usar as Ferramentas HDInsight no Kit de Ferramentas do Azure para IntelliJ para executar aplicativos de depuração de falha do Spark.

Pré-requisitos

Criar um projeto com modelo de depuração

Crie um projeto spark2.3.2 para continuar a depuração de falha, execute o arquivo de exemplo de depuração de tarefa de falha neste documento.

  1. Abra o IntelliJ IDEA. Abra a janela Novo projeto .

    a. Selecione Azure Spark/HDInsight no painel esquerdo.

    b. Selecione Spark Project with Failure Task Debugging Sample(Preview)(Scala) na janela principal.

    Intellij Create a debug project.

    c. Selecione Seguinte.

  2. Na janela Novo projeto, execute as seguintes etapas:

    Intellij New Project select Spark version.

    a. Insira um nome e um local do projeto.

    b. Na lista suspensa SDK do projeto, selecione Java 1.8 para cluster do Spark 2.3.2.

    c. Na lista suspensa Versão do Spark , selecione Spark 2.3.2(Scala 2.11.8).

    d. Selecione Concluir.

  3. Selecione src>main>scala para abrir seu código no projeto. Este exemplo usa o script AgeMean_Div( ).

Executar um aplicativo Spark Scala/Java em um cluster HDInsight

Crie um aplicativo Scala/Java do Spark e execute o aplicativo em um cluster do Spark executando as seguintes etapas:

  1. Clique em Adicionar configuração para abrir a janela Executar/Depurar configurações.

    HDI Intellij Add configuration.

  2. Na caixa de diálogo Executar/Depurar Configurações, selecione o sinal de adição (+). Em seguida, selecione a opção Apache Spark no HDInsight .

    Intellij Add new configuration.

  3. Alterne para a guia Executar remotamente no cluster . Insira informações para Nome, Cluster Spark e Nome da classe Principal. Nossas ferramentas suportam depuração com Executores. Os numExectors, o valor padrão é 5, e é melhor não definir acima de 3. Para reduzir o tempo de execução, você pode adicionar spark.yarn.maxAppAttempts em Configurações de trabalho e definir o valor como 1. Clique no botão OK para salvar a configuração.

    Intellij Run debug configurations new.

  4. A configuração agora é salva com o nome que você forneceu. Para visualizar os detalhes da configuração, selecione o nome da configuração. Para fazer alterações, selecione Editar configurações.

  5. Depois de concluir as configurações configurações, você pode executar o projeto no cluster remoto.

    Intellij Debug Remote Spark Job Remote run button.

  6. Você pode verificar o ID do aplicativo na janela de saída.

    Intellij Debug Remote Spark Job Remote run result.

Baixar perfil de trabalho com falha

Se o envio do trabalho falhar, você poderá baixar o perfil do trabalho com falha para a máquina local para depuração adicional.

  1. Abra o Gerenciador de Armazenamento do Microsoft Azure, localize a conta HDInsight do cluster para o trabalho com falha, baixe os recursos do trabalho com falha do local correspondente: \hdp\spark2-events\.spark-failures\<application ID> para uma pasta local. A janela de atividades mostrará o progresso do download.

    Azure Storage Explorer download failure.

    Azure Storage Explorer download success.

Configurar o ambiente de depuração local e depurar em caso de falha

  1. Abra o projeto original ou crie um novo projeto e associe-o ao código-fonte original. Atualmente, apenas a versão spark2.3.2 é suportada para depuração de falhas.

  2. No IntelliJ IDEA, crie um arquivo de configuração de depuração de falha do Spark, selecione o arquivo FTD dos recursos de trabalho com falha baixados anteriormente para o campo Local do contexto de falha do trabalho do Spark.

    crete failure configuration.

  3. Clique no botão de execução local na barra de ferramentas, o erro será exibido na janela Executar.

    run-failure-configuration1.

    run-failure-configuration2.

  4. Defina o ponto de interrupção como o log indica e, em seguida, clique no botão de depuração local para fazer a depuração local exatamente como seus projetos Scala / Java normais no IntelliJ.

  5. Após a depuração, se o projeto for concluído com êxito, você poderá reenviar o trabalho com falha para sua faísca no cluster HDInsight.

Próximos passos

Cenários

Criar e executar aplicações

Ferramentas e extensões

Gerir recursos