Esta página fornece informações para ajudar você a monitorar e depurar jobs do Dataproc e entender as mensagens de erro dos jobs do Dataproc.
Monitoramento e depuração de jobs
Use a CLI do Google Cloud, a API REST do Dataproc e o console 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 conferir a saída do driver do job, consulte Conferir 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 conferir o registro do agente dataproc no Logging, selecione Cluster do Dataproc→Nome do cluster→UUID do cluster no seletor de clusters do Logs Explorer.

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

Conferir registros de jobs 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
A tarefa não foi adquirida
Isso indica que o agente do Dataproc 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 com sucesso anteriormente e você não mudou as configurações de rede, o OOM é a causa mais provável, geralmente o resultado do envio de muitos jobs em execução simultaneamente ou jobs cujos drivers consomem memória significativa (por exemplo, jobs que carregam grandes conjuntos de dados na memória).
Nenhum agente nos nós principais foi encontrado como ativo
Isso 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) ou de rede ou se a VM do nó mestre estiver inativa. Se o job foi executado com sucesso anteriormente e você não mudou as configurações de configuração de rede, o OOM é a causa mais provável, o que geralmente resulta do envio de muitos jobs em execução simultaneamente ou jobs com drivers que consomem memória significativa (jobs que carregam grandes conjuntos de dados na memória).
Para ajudar a resolver o problema, tente as seguintes ações:
- Reinicie o job.
- Conecte-se ao nó mestre do cluster usando SSH e determine qual job ou outro recurso está usando mais memória.
Se não for possível fazer login no nó mestre, verifique os registros da porta serial (console).
Gerar um pacote de diagnóstico, que contém o syslog e outros dados.
A tarefa não foi encontrada
Esse erro indica que o cluster foi excluído enquanto um job estava em execução. É possível realizar as seguintes ações para identificar o principal que realizou a exclusão e confirmar que a exclusão do cluster ocorreu quando um job estava em execução:
Acesse os registros de auditoria do Dataproc para identificar o principal que executou a operação de exclusão.
Use o Logging ou a CLI gcloud para verificar se o último estado conhecido do aplicativo YARN era RUNNING:
- Use o seguinte filtro no Logging:
resource.type="cloud_dataproc_cluster" resource.labels.cluster_name="CLUSTER_NAME" resource.labels.cluster_uuid="CLUSTER_UUID" "YARN_APPLICATION_ID State change from"
- Execute
gcloud dataproc jobs describe job-id --region=REGION
e verifiqueyarnApplications: > STATE
na saída.
Se o principal que excluiu o cluster for a conta de serviço do agente de serviço do Dataproc, verifique se o cluster foi configurado com uma duração de exclusão automática menor do que a duração do job.
Para evitar erros Task not found
, use a automação para garantir que os clusters não sejam excluídos
antes de todos os jobs em execução serem concluídos.
Não há espaço livre no dispositivo
O Dataproc grava dados do HDFS e de rascunho no disco. Essa mensagem de erro indica que o cluster foi criado com espaço em disco insuficiente. Para analisar e evitar esse erro:
Verifique o tamanho do disco principal do cluster listado na guia Configuração na página Detalhes do cluster no console Google Cloud . O tamanho mínimo recomendado do disco é
1000 GB
para clusters que usam o tipo de máquinan1-standard-4
e2 TB
para clusters que usam o tipo de máquinan1-standard-32
.Se o tamanho do disco do cluster for menor que o recomendado, recree o cluster com pelo menos o tamanho de disco recomendado.
Se o tamanho do disco for igual ou maior que o recomendado, use o SSH para se conectar à VM mestre do cluster e execute
df -h
na VM mestre para verificar a utilização do disco e determinar se é necessário mais espaço em disco.