Risoluzione dei problemi dei job Dataproc

Questa pagina fornisce informazioni utili per monitorare e eseguire il debug dei job Dataproc e comprendere i messaggi di errore dei job Dataproc.

Monitoraggio e debug dei job

Utilizzo di Google Cloud CLI, API REST Dataproc e console Google Cloud per analizzare ed eseguire il debug dei job Dataproc.

Interfaccia a riga di comando gcloud

Per esaminare lo stato di un job in esecuzione:

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

Per visualizzare l'output del driver del job, consulta Visualizzare l'output del job.

API REST

Chiama jobs.get per esaminare l'attività JobStatus.State, JobStatus.Substate, JobStatus.details e YarnApplication campi.

Console

Per visualizzare l'output del driver del job, consulta Visualizzare l'output del job.

Per visualizzare il log dell'agente Dataproc in Logging, selezionate Cluster Dataproc → Nome cluster → UUID cluster dal selettore dei cluster di Logs Explorer.

Quindi, utilizza il selettore dei log per selezionare i log google.dataproc.agent.

Visualizza i log dei job in Logging

Se un job non riesce, puoi accedere ai log dei job in Logging.

Determinare chi ha inviato un job

Se cerchi i dettagli di un lavoro verrà visualizzato chi lo ha inviato in submittedBy . Ad esempio, questo output del job mostra che user@domain ha inviato l'esempio in un 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

Messaggi di errore

  • L'attività non è stata acquisita: indica che l'attività Dataproc che l'agente sul nodo master non è riuscito ad acquisire l'attività dal piano di controllo. Questo accade spesso a causa di problemi di esaurimento della memoria o di rete. Se il job è stato eseguito correttamente in precedenza e non hai modificato le impostazioni di configurazione della rete, la causa più probabile è l'OOM, spesso il risultato dell'invio di molti job in esecuzione contemporaneamente o di job i cui driver consumano molta memoria (ad esempio, job che caricano in memoria set di dati di grandi dimensioni).

  • Nessun agente sui nodi master è stato rilevato attivo. Indica che l'agente L'agente Dataproc sul nodo master non è attivo e non può accettare nuovi lavori. Questo accade spesso a causa di esaurimento della memoria (OOM) o della rete o se la VM del nodo master non è integro. Se il job è stato eseguito correttamente in precedenza e non hai modificato configurazione di rete, OOM è la causa più probabile, che spesso risultati derivanti dall'invio di molti job o job in esecuzione contemporaneamente i cui driver consumano molta memoria (job che caricano set di dati di grandi dimensioni). Questo problema può essere risolto riavviando (interrompendo, poi avvia) il cluster Dataproc o riprovare a inviare il job in un secondo momento. Nota: L'arresto di un cluster causa l'errore di tutti i job in esecuzione.

  • Attività non trovata: indica che il cluster è stato eliminato durante l'esecuzione di un job. Per evitare questo errore, prima di inviare un job, verifica che lo stato del cluster sia RUNNING visualizzando lo stato del cluster nella pagina Cluster della console Google Cloud, eseguendo il comando gcloud dataproc clusters describe o controllando ClusterStatus.State con una richiesta API clusters.get.