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. Efetue depuração usando a interface do usuário do 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

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.

    Inicie a interface de utilizador do YARN no Portal Azure.

    Sugestão

    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é YARN>Links Rápidos> do Gerenciador de Recursos ativo >Interface do Usuário do Gerenciador de Recursos.

  2. Como o trabalho do Spark foi iniciado usando o Jupyter Notebooks, a aplicação tem o nome de remotesparkmagics (o nome para todas as aplicações iniciadas a partir dos notebooks). 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.

    Servidor de histórico do Spark Encontre a ID do aplicativo Spark.

    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.

    Fazer download dos logs de contêiner do servidor de histórico do Spark.

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 abrir a interface do utilizador do Spark, na vista do aplicativo, selecione o link junto 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.

    Guia de Trabalhos no servidor de histórico do Spark.

  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 Despejo de Thread.

    Guia Executores do servidor de histórico do Spark.

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

    Guia Estágios do servidor de histórico do Spark.

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

    Detalhes do separador Estágios do servidor de histórico do Spark.

  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.

    Visualize a visualização do DAG dos estágios do Spark.

    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 da fase, pode também iniciar a visualização da cronologia da aplicação. Expanda a Cronologia do Evento na parte superior da página, conforme mostrado abaixo.

    Veja o cronograma de eventos dos estágios do Spark.

    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.

    Sugestão

    Se marcar a caixa de seleção Ativar zoom, poderá rolar para a esquerda e para a direita na vista 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.

    O portal do Azure inicia o servidor de histórico do Spark.

    Sugestão

    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é Spark2>Quick Links>Spark2 History Server UI.

  2. Você vê todas as candidaturas preenchidas listadas. Selecione um ID de aplicação para obter detalhes sobre uma aplicação e mais informações.

    O servidor de histórico do Spark concluiu os aplicativos.

Ver também