Compartilhar via


Falha na depuração do trabalho do Spark com o Azure Toolkit for IntelliJ (versão prévia)

Este artigo contém orientações passo a passo para usar as Ferramentas do HDInsight no Azure Toolkit for IntelliJ para executar aplicativos de depuração de falha do Spark.

Pré-requisitos

Criar um projeto com modelo de depuração

Crie um projeto do Spark 2.3.2 para continuar a depuração de falha. Escolha 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 Projeto do Spark com Amostra de Depuração de Tarefa de Falha (Versão Prévia) (Scala) na janela principal.

    O IntelliJ Cria um projeto de depuração.

    c. Selecione Avançar.

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

    O Novo Projeto do IntelliJ seleciona a versão do Spark.

    a. Insira um nome de projeto e o local do projeto.

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

    c. Na lista suspensa Versão do Spark, selecione Spark 2.3.2 (escala 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 Scala/Java do Spark em um cluster do HDInsight

Siga as etapas abaixo para criar um aplicativo Scala/Java e executá-lo em um cluster do Spark:

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

    O IntelliJ da HDI Adiciona a configuração.

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

    O IntelliJ Adiciona a nova configuração.

  3. Alterne para a guia Executar Remotamente no Cluster. Insira as informações de Nome, Cluster do Spark e Nome da classe principal. Nossas ferramentas oferecem suporte à depuração com Executores. O numExecutors, o valor padrão é 5, e é melhor não definir mais do que 3. Para reduzir o tempo de execução, você pode adicionar spark.yarn.maxAppAttempts às Configurações de trabalho e definir o valor como 1. Clique no botão OK para salvar a configuração.

    O Intellij Executa as novas configurações de depuração.

  4. Agora, a configuração está salva com o nome fornecido. Para exibir os detalhes de configuração, selecione o nome da configuração. Para fazer alterações, selecione Editar configurações.

  5. Após concluir as definições de configurações, você poderá executar o projeto no cluster remoto.

    Botão de execução Remota do Trabalho Spark Remoto de Depuração do IntelliJ.

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

    Resultado da execução Remota do Trabalho Spark Remoto de Depuração do IntelliJ.

Baixar perfil de trabalho com falha

Se o envio do trabalho falhar, você poderá baixar o perfil de trabalho com falha no computador local para depuração posterior.

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

    Falha no download do Gerenciador de Armazenamento do Azure.

    Download do Gerenciador de Armazenamento do Azure bem-sucedido.

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

  1. Abra o projeto original ou crie um projeto e associe-o ao código-fonte original. Somente a versão do Spark 2.3.2 é compatível com a depuração de falha no momento.

  2. No IntelliJ IDEA, crie um arquivo de configuração de Depuração de Falha do Spark, selecione o arquivo FTD nos recursos de trabalho com falha baixados anteriormente para o campo Local de Contexto de Falha de Trabalho do Spark.

    falha ao criar a configuração.

  3. Clique no botão executar local na barra de ferramentas, e 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, assim como seus projetos Scala/Java normais no IntelliJ.

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

Próximas etapas

Cenários

Criar e executar aplicativos

Ferramentas e extensões

Gerenciar recursos