Questa pagina delinea la sequenza dei passaggi necessari per l'invio, l'esecuzione e il completamento di un job di Dataproc. Inoltre, illustra la limitazione e il debug dei job.
Flusso di job Dataproc
- L'utente invia il job a Dataproc.
- JobStatus.State,
è contrassegnato come
PENDING
.
- JobStatus.State,
è contrassegnato come
- Il job è in attesa di essere acquisito dall'agente
dataproc
.- Se il job viene acquisito, JobStatus.State viene contrassegnato come
RUNNING
. - Se il job non viene acquisito a causa di un errore dell'agente, di un errore di rete di Compute Engine o per un'altra causa, il job è contrassegnato come
ERROR
.
- Se il job viene acquisito, JobStatus.State viene contrassegnato come
- Dopo che l'agente acquisisce un job, verifica che siano disponibili risorse sufficienti sul nodo master del cluster Dataproc per avviare il driver.
- Se non sono disponibili risorse sufficienti, il job viene ritardato (limitato).
JobStatus.Substate mostra il job come
QUEUED
e Job.JobStatus.details fornisce informazioni sulla causa del ritardo.
- Se non sono disponibili risorse sufficienti, il job viene ritardato (limitato).
JobStatus.Substate mostra il job come
- Se sono disponibili risorse sufficienti, l'agente
dataproc
avvia il processo del driver del job.- In questa fase, solitamente sono presenti una o più applicazioni in esecuzione in Apache Hadoop YARN. Tuttavia, le applicazioni Yarn potrebbero non avviarsi finché il driver non ha completato la scansione delle directory di Cloud Storage o non ha eseguito altre attività del job di avvio.
- L'agente
dataproc
invia periodicamente aggiornamenti a Dataproc sull'avanzamento del job, sulle metriche del cluster e sulle applicazioni Yarn associate al job (vedi Monitoraggio e debug dei job). - Hai completato le domande di Yarn.
- Il job continua a essere riportato come
RUNNING
mentre il conducente esegue qualsiasi attività di completamento dei job, come la materializzazione delle raccolte. - Un errore non gestito o non rilevato nel thread principale può lasciare il driver in stato zombie (contrassegnato come
RUNNING
senza informazioni sulla causa dell'errore).
- Il job continua a essere riportato come
- Uscite del conducente.
L'agente
dataproc
segnala il completamento a Dataproc.- Dataproc segnala il job come
DONE
.
- Dataproc segnala il job come
Contemporaneità job
Puoi configurare il numero massimo di job Dataproc simultanei con la proprietà cluster dataproc:dataproc.scheduler.max-concurrent-jobs quando crei un cluster. Se questo valore della proprietà non è impostato, il limite superiore dei job simultanei viene calcolato come max((masterMemoryMb - 3584) / masterMemoryMbPerJob, 5)
. masterMemoryMb
è determinato dal tipo di macchina della VM master. masterMemoryMbPerJob
è 1024
per impostazione predefinita, ma è configurabile al momento della creazione del cluster con la proprietà cluster dataproc:dataproc.scheduler.driver-size-mb.