Partilhar via


Depurar trabalhos do Apache Spark em execução no Azure HDInsight

Neste artigo, você aprenderá a rastrear e depurar trabalhos do Apache Spark em execução em clusters HDInsight. Depure usando a interface do usuário Apache Hadoop YARN, a interface do usuário do Spark e o servidor de histórico do Spark. Você inicia um trabalho do Spark usando um bloco de anotações disponível com o cluster do Spark, Machine learning: análise preditiva em dados de inspeção de alimentos usando MLLib. Use as etapas a seguir para acompanhar um aplicativo que você enviou usando qualquer outra abordagem, por exemplo, spark-submit.

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

  • Um cluster do Apache Spark no HDInsight. Para obter instruções, veja Criar clusters do Apache Spark no Azure HDInsight.

  • Você deve ter começado a executar o notebook, Machine learning: Análise preditiva em dados de inspeção de alimentos usando MLLib. Para obter instruções sobre como executar este bloco de anotações, siga o link.

Rastrear um aplicativo na interface do usuário do YARN

  1. Inicie a interface do usuário do YARN. Selecione Yarn em Painéis de cluster.

    Azure portal launch YARN UI.

    Gorjeta

    Como alternativa, você também pode iniciar a interface do usuário do YARN a partir da interface do usuário do Ambari. Para iniciar a interface do usuário do Ambari, selecione Página inicial do Ambari em Painéis de cluster. Na interface do usuário do Ambari, navegue até Links> Rápidos do YARN>, a interface do usuário ativa do Gerenciador de Recursos do Gerenciador >de Recursos.

  2. Como você iniciou o trabalho do Spark usando o Jupyter Notebooks, o aplicativo tem o nome remotesparkmagics (o nome de todos os aplicativos iniciados a partir dos blocos de anotações). Selecione o ID do aplicativo em relação ao nome do aplicativo para obter mais informações sobre o trabalho. Esta ação inicia a vista da aplicação.

    Spark history server Find Spark application ID.

    Para esses aplicativos que são iniciados a partir do Jupyter Notebooks, o status é sempre RUNNING até que você saia do notebook.

  3. Na visualização do aplicativo, você pode detalhar mais para descobrir os contêineres associados ao aplicativo e os logs (stdout/stderr). Você também pode iniciar a interface do usuário do Spark clicando no link correspondente ao URL de rastreamento, conforme mostrado abaixo.

    Spark history server download container logs.

Rastrear um aplicativo na interface do usuário do Spark

Na interface do usuário do Spark, você pode detalhar os trabalhos do Spark gerados pelo aplicativo iniciado anteriormente.

  1. Para iniciar a interface do usuário do Spark, na visualização do aplicativo, selecione o link em relação ao URL de rastreamento, conforme mostrado na captura de tela acima. Você pode ver todos os trabalhos do Spark que são iniciados pelo aplicativo em execução no Jupyter Notebook.

    Spark history server jobs tab.

  2. Selecione a guia Executores para ver as informações de processamento e armazenamento de cada executor. Você também pode recuperar a pilha de chamadas selecionando o link Dump de thread .

    Spark history server executors tab.

  3. Selecione a guia Estágios para ver os estágios associados ao aplicativo.

    Spark history server stages tab.

    Cada estágio pode ter várias tarefas para as quais você pode visualizar estatísticas de execução, como mostrado abaixo.

    Spark history server stages tab details.

  4. Na página de detalhes do palco, você pode iniciar o DAG Visualization. Expanda o link Visualização do DAG na parte superior da página, conforme mostrado abaixo.

    View Spark stages DAG visualization.

    DAG ou Direct Aclyic Graph representa os diferentes estágios no aplicativo. Cada caixa azul no gráfico representa uma operação Spark invocada a partir do aplicativo.

  5. Na página de detalhes do palco, você também pode iniciar a visualização da linha do tempo do aplicativo. Expanda o link Linha do tempo do evento na parte superior da página, conforme mostrado abaixo.

    View Spark stages event timeline.

    Esta imagem exibe os eventos do Spark na forma de uma linha do tempo. A visualização da linha do tempo está disponível em três níveis, entre trabalhos, dentro de um trabalho e dentro de um estágio. A imagem acima captura a visualização da linha do tempo para um determinado estágio.

    Gorjeta

    Se você marcar a caixa de seleção Habilitar zoom , poderá rolar para a esquerda e para a direita pela exibição da linha do tempo.

  6. Outras guias na interface do usuário do Spark também fornecem informações úteis sobre a instância do Spark.

    • Guia Armazenamento - Se seu aplicativo criar um RDD, você poderá encontrar informações na guia Armazenamento.
    • Guia Ambiente - Esta guia fornece informações úteis sobre sua instância do Spark, como:
      • Versão Scala
      • Diretório de log de eventos associado ao cluster
      • Número de núcleos executores para o aplicativo

Encontre informações sobre trabalhos concluídos usando o Spark History Server

Quando um trabalho é concluído, as informações sobre o trabalho são mantidas no Spark History Server.

  1. Para iniciar o Spark History Server, na página Visão geral , selecione Servidor de histórico do Spark em Painéis de cluster.

    Azure portal launch Spark history server.

    Gorjeta

    Como alternativa, você também pode iniciar a interface do usuário do Spark History Server a partir da interface do usuário do Ambari. Para iniciar a interface do usuário do Ambari, na folha Visão geral, selecione Página inicial do Ambari em Painéis de cluster. Na interface do usuário do Ambari, navegue até a interface do usuário do Spark2>Quick Links>Spark2 History Server.

  2. Você vê todas as candidaturas preenchidas listadas. Selecione um ID de aplicativo para detalhar um aplicativo para obter mais informações.

    Spark history server completed applications.

Consulte também