Resolver problemas de jobs do Dataproc

Nesta página, você encontra informações para monitorar e depurar o Dataproc. jobs e entender as mensagens de erro de jobs do Dataproc.

Monitoramento e depuração de jobs

Usar a Google Cloud CLI, a API REST do Dataproc e o console do Google Cloud para analisar e depurar jobs do Dataproc.

CLI da gcloud

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

gcloud dataproc jobs describe job-id \
    --region=region

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

API REST

Chame jobs.get para examinar os campos JobStatus.State, JobStatus.Substate, JobStatus.details, e YarnApplication.

Console

Para conferir a saída do driver do job, consulte Conferir a saída do job.

Para acessar o registro do agente Dataproc no Logging, selecione Cluster do Dataproc→Nome do cluster→UUID do cluster no seletor de clusters da Análise de registros.

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

Acessar os registros do job no Logging

Se um job falhar, você poderá acessar os registros do job no Logging.

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

Mensagens de erro

  • Task não foi adquirida: indica que o Dataproc agente no nó mestre não conseguiu adquirir a tarefa do plano de controle. Isso geralmente acontece devido a problemas de falta de memória (OOM, na sigla em inglês) ou rede. Se o job foi executado anteriormente e você não mudou as configurações da rede, o OOM é a causa mais provável, geralmente o resultado do envio de muitos jobs em execução ou de jobs em que os drivers consomem memória significativa. por exemplo, jobs que carregam grandes conjuntos de dados na memória.

  • Nenhum agente nos nós mestre está ativo: indica que o agente do Dataproc no nó mestre não está ativo e não pode aceitar novos jobs. Isso geralmente acontece devido a problemas de falta de memória (OOM, na sigla em inglês) ou de rede, ou se a VM do nó mestre estiver inativa. Se o job foi executado com sucesso anteriormente e você não alterou de configuração de rede, a falta provável é a causa mais provável, o que geralmente resultados do envio de muitos jobs em execução simultânea ou com drivers que consomem uma quantidade significativa de memória (jobs que carregam grandes conjuntos de dados na memória). Este problema pode ser resolvido reiniciando (interromper e depois iniciar) cluster do Dataproc ou tentando enviar o job novamente mais tarde. Observação: a interrupção de um cluster faz com que todos os jobs em execução falhem.

  • Tarefa não encontrada:indica que o cluster foi excluído enquanto um job estava em execução. Para evitar esse erro, confirme o cluster antes de enviar um job o status é RUNNING, visualizando o status do cluster na página Clusters no console do Google Cloud; executando o gcloud dataproc clusters describe comando ou verificando ClusterStatus.State com um clusters.get solicitação de API.