Esta página descreve a sequência de etapas envolvidas no envio, execução e conclusão de um job do Dataproc. Aqui você também encontra redução e depuração do job.
Fluxo de jobs do Dataproc
- O usuário envia o job para o Dataproc.
- JobStatus.State está marcado como
PENDING.
- JobStatus.State está marcado como
- O job aguarda a aquisição pelo agente
dataproc.- .
- Se o job for adquirido, o 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.
- Se o job for adquirido, o JobStatus.State será marcado como
- Quando o job é adquirido pelo agente, este verifica se há
recursos suficientes disponíveis no nó mestre do cluster do 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.
- Se não houver recursos suficientes disponíveis, o job ficará atrasado (limitado).
JobStatus.Substate mostra o job como
- Se houver recursos suficientes disponíveis, o agente
dataprociniciará 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.
- O agente
dataprocenvia periodicamente atualizações para o Dataproc sobre o progresso do job, as métricas do cluster e os aplicativos Yarn associados ao job. Consulte Monitoramento e depuração de jobs. - Aplicativos Yarn concluídos.
- O job continua sendo relatado como
RUNNINGenquanto 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
RUNNINGsem informações quanto à causa da falha).
- O job continua sendo relatado como
- O driver sai.
O agente
dataprocrelata a conclusão para o Dataproc.- O Dataproc relata o job como
DONE.
- O Dataproc relata o job como
Simultaneidade do job
É possível configurar o número máximo de jobs simultâneos do Dataproc com a propriedade dataproc:dataproc.scheduler.max-concurrent-jobs ao criar um cluster. Se esse valor de propriedade não estiver definido,
o limite superior de jobs simultâneos será calculado como
max((masterMemoryMb - 3584) / masterMemoryMbPerJob, 5). masterMemoryMb é determinado pelo tipo de máquina da VM mestre. masterMemoryMbPerJob é
1024 por padrão, mas pode ser configurado na criação do cluster com a
propriedade de cluster
dataproc:dataproc.scheduler.driver-size-mb.
A seguir
- Consulte Solução de problemas de jobs.