Vida útil de um job do Cloud Dataproc

Esta página descreve a sequência de etapas envolvidas no envio, execução e conclusão de um job do Cloud Dataproc. Aqui você também encontra redução e depuração do job.

Fluxo de jobs do Cloud Dataproc

  1. O usuário envia o job ao Cloud Dataproc.
  2. O job aguarda a aquisição pelo agente dataproc.
    • Se o job for adquirido, JobStatus.State será marcado como RUNNING.
    • Se não for adquirido por causa de uma falha no agente, na rede do Google Compute Engine ou por outro motivo, o job será marcado como ERROR.
  3. Quando o job é adquirido pelo agente, este verifica se há recursos suficientes disponíveis no nó mestre do cluster do Cloud Dataproc para iniciar o driver.
    • Se não houver recursos suficientes disponíveis, o job ficará atrasado (limitado). JobStatus.Substate mostra o job como QUEUED e Job.JobStatus.details fornece informações sobre a causa do atraso.
  4. Se houver recursos suficientes disponíveis, o agente dataproc iniciará o processo do driver do job.
    • Neste estágio, normalmente há um ou mais aplicativos em execução no Apache Hadoop YARN. No entanto, os aplicativos Yarn talvez não sejam iniciados até o driver terminar de verificar os diretórios do Cloud Storage ou realizar outras tarefas do job de inicialização.
  5. O agente dataproc envia periodicamente atualizações para o Cloud Dataproc sobre o andamento do job, as métricas do cluster e os aplicativos Yarn associados ao job. Consulte Monitoramento e depuração de jobs.
  6. Os aplicativos Yarn são concluídos.
    • O job continua sendo relatado como RUNNING enquanto o driver realiza todas as tarefas de conclusão do job, como as coleções de materialização.
    • Uma falha não processada ou não detectada no thread principal pode deixar o driver em um estado zumbi (marcado como RUNNING sem informações quanto à causa da falha).
  7. O driver sai. O agente dataproc relata a conclusão ao Cloud Dataproc.
    • O Cloud Dataproc relata o job como DONE.

Monitoramento e depuração de jobs

Use a ferramenta de linha de comando gcloud, a Cloud Dataproc REST API e o Console do Google Cloud Platform para analisar e depurar jobs do Cloud Dataproc.

Comando gcloud

Para examinar o status de um job em execução:

gcloud dataproc jobs describe job-id

Para ver a saída do driver do job, consulte Como acessar a saída do driver do job.

API REST

Chame jobs.get para examinar os campos JobStatusState, JobStatus.Substate, JobStatus.details e YarnApplication de um job.

Console

Para ver a saída do driver do job, consulte Como acessar a saída do driver do job.

Para visualizar o registro do agente dataproc no Stackdriver Logging, selecione Cluster do Cloud Dataproc→Nome do cluster→UUID do cluster no seletor de clusters do visualizador de registros.

Em seguida, use o seletor para escolher registros google.dataproc.agent.

Como determinar quem enviou um job

A pesquisa dos detalhes de um job mostrará quem enviou esse job no campo submittedBy. Por exemplo, a saída desse job mostra que user@domain enviou o job de exemplo para um cluster.

...
placement:
  clusterName: cluster-name
  clusterUuid: cluster-uuid
reference:
  jobId: job-uuid
  projectId: project
status:
  state: DONE
  stateStartTime: '2018-11-01T00:53:37.599Z'
statusHistory:
- state: PENDING
  stateStartTime: '2018-11-01T00:33:41.387Z'
- state: SETUP_DONE
  stateStartTime: '2018-11-01T00:33:41.765Z'
- details: Agent reported job success
  state: RUNNING
  stateStartTime: '2018-11-01T00:33:42.146Z'
submittedBy: user@domain
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Dataproc
Precisa de ajuda? Acesse nossa página de suporte.