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.

    Intellij Criar um projeto de depuração.

    c. Selecione Avançar.

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

    Intellij Novo Projeto selecione 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.

    Intellij HDI Adicionar 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.

    Intellij Adicionar 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.

    Intellij Executar 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.

    Intellij Depurar o Trabalho Remoto do Spark Botão de execução remota.

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

    Intellij Depurar o Trabalho Remoto do Spark Resultado da execução remota.

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