Soluciona problemas de trabajos de Dataproc

En esta página, se proporciona información para ayudarte a supervisar y depurar Dataproc y comprender los mensajes de error del trabajo de Dataproc.

Supervisión y depuración del trabajo

Usa Google Cloud CLI, la API de REST de Dataproc y la consola de Google Cloud para analizar y depurar los trabajos de Dataproc.

gcloud CLI

Para examinar el estado de un trabajo activo:

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

Para ver el resultado del controlador del trabajo, consulta Visualiza el resultado del trabajo.

API de REST

Llama a jobs.get para examinar los campos JobStatus.State, JobStatus.Substate, JobStatus.details y YarnApplication del trabajo.

Console

Para ver el resultado del controlador del trabajo, consulta Visualiza el resultado del trabajo.

Para ver el registro del agente de Dataproc en Logging, sigue estos pasos: selecciona Clúster de Dataproc→Nombre del clúster→UUID del clúster en el selector de clústeres del Explorador de registros.

Luego, usa el selector de registros para seleccionar registros google.dataproc.agent.

Ver registros de trabajos en Logging

Si un trabajo falla, puedes acceder a los registros de trabajos en Logging.

Cómo determinar quién envió un trabajo

Cómo buscar los detalles de un trabajo mostrará quién envió ese trabajo en el campo submittedBy. Por ejemplo, el resultado de este trabajo muestra que user@domain envió el trabajo de ejemplo a un clúster.

...
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

Mensajes de error

  • No se adquirió la tarea: Indica que el agente de Dataproc en el nodo principal no pudo adquirir la tarea del plano de control. Esto sucede a menudo debido a problemas de memoria insuficiente (OOM) o de red. Si el trabajo se ejecutó de forma correcta y no cambiaste la configuración de red, el OOM es la causa más probable, el resultado del envío de muchos trabajos o trabajos en ejecución simultáneos cuyos controladores consumen memoria significativa (por ejemplo, los trabajos que cargan conjuntos de datos grandes en la memoria).

  • No se encontró ningún agente activo en los nodos principales: Indica que el agente de Dataproc en el nodo principal no está activo y no puede aceptar trabajos nuevos. Esto sucede a menudo debido a problemas de memoria insuficiente (OOM) o de red, o si la VM del nodo principal no está en buen estado. Si el trabajo se ejecutó correctamente anteriormente y no has cambiado en los parámetros de configuración de red, OOM es la causa más probable, que a menudo resultados del envío de muchos trabajos o trabajos en ejecución en simultáneo cuyos controladores consumen mucha memoria (trabajos que cargan grandes conjuntos de datos a la memoria). Para resolver este problema, reinicia (detén y, luego, inicia) el clúster de Dataproc o vuelve a intentar enviar el trabajo más tarde. Nota: Si detienes un clúster, fallarán todos los trabajos en ejecución.

  • No se encontró la tarea: Indica que el clúster se borró mientras se realizaba un trabajo. en ejecución. Para evitar este error, confirma el clúster antes de enviar un trabajo el estado es RUNNING si consultas el estado del clúster en la Clústeres en la consola de Google Cloud. ejecutando el gcloud dataproc clusters describe o si verificas ClusterStatus.State con un clusters.get solicitud a la API.