Probleme mit Dataproc-Jobs beheben

Auf dieser Seite finden Sie Informationen zum Überwachen und Debuggen von Dataproc-Jobs und zum Verständnis von Fehlermeldungen von Dataproc-Jobs.

Monitoring und Fehlerbehebung für Jobs

Mit der Google Cloud CLI, der Dataproc REST API und der Google Cloud Console Dataproc-Jobs analysieren und debuggen

gcloud-CLI

So prüfen Sie den Status eines laufenden Jobs:

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

Informationen zum Anzeigen der Job-Treiberausgabe finden Sie unter Jobausgabe ansehen.

REST API

Rufen Sie jobs.get auf, um die Felder JobStatus.State, JobStatus.Substate, JobStatus.details und YarnApplication zu untersuchen.

Console

Informationen zum Anzeigen der Job-Treiberausgabe finden Sie unter Jobausgabe ansehen.

Wählen Sie zum Aufrufen des Dataproc-Agent-Logs in Logging in der Clusterauswahl im Logs-Explorer Dataproc-Cluster → Clustername → Cluster-UUID aus.

Wählen Sie dann mit der Logauswahl google.dataproc.agent Logs aus.

Joblogs in Logging ansehen

Wenn ein Job fehlschlägt, können Sie auf Joblogs in Logging zugreifen.

Bestimmen, wer einen Job gesendet hat

In den Jobdetails: Im Feld submittedBy können Sie einsehen, wer diesen Job gesendet hat. Diese Jobausgabe zeigt beispielsweise, dass user@domain den Beispieljob an einen Cluster gesendet hat.

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

Fehlermeldungen

  • Aufgabe wurde nicht übernommen: Gibt an, dass der Dataproc-Agent auf dem Masterknoten die Aufgabe nicht von der Steuerungsebene abrufen konnte. Dies ist oft auf fehlenden Speicher (Out-Of-Memory, OOM) oder auf Netzwerkprobleme zurückzuführen. Wenn der Job zuvor erfolgreich ausgeführt wurde und Sie die Einstellungen für die Netzwerkkonfiguration nicht geändert haben, ist OOM wahrscheinlich die Ursache. Eventuell werden viele Jobs gleichzeitig ausgeführt, oder die Treiber einiger Jobs verbrauchen viel Arbeitsspeicher (Beispiel: Jobs, die große Datasets in den Speicher laden).

  • Kein Agent auf Masterknoten als aktiv gefunden:Gibt an, dass der Dataproc-Agent auf dem Masterknoten nicht aktiv ist und keine neuen Jobs annehmen kann. Dies geschieht häufig aufgrund von unzureichendem Arbeitsspeicher, Netzwerkproblemen oder wenn die VM des Masterknotens fehlerhaft ist. Wenn der Job zuvor erfolgreich ausgeführt wurde und Sie die Netzwerkkonfigurationseinstellungen nicht geändert haben, ist OOM die wahrscheinlichste Ursache. Häufig geht es dabei darum, dass viele gleichzeitig ausgeführte Jobs oder Jobs gesendet werden, deren Treiber einen hohen Arbeitsspeicher belegen (Jobs, die große Datasets in den Arbeitsspeicher laden). Dieses Problem kann behoben werden, indem Sie den Dataproc-Cluster neu starten (stopp und dann starten) oder die Jobübermittlung später wiederholen. Hinweis:Wenn Sie einen Cluster beenden, schlagen alle ausgeführten Jobs fehl.

  • Task not found: Gibt an, dass der Cluster gelöscht wurde, während ein Job ausgeführt wurde. Um diesen Fehler zu vermeiden, prüfen Sie vor dem Senden eines Jobs, ob der Clusterstatus RUNNING ist. Dazu rufen Sie in der Google Cloud Console auf der Seite Cluster den Clusterstatus auf, führen den Befehl gcloud dataproc clusters describe aus oder prüfen ClusterStatus.State mit einer clusters.get API-Anfrage.