Fehlerbehebung bei Dataproc-Jobs

Auf dieser Seite finden Sie Informationen zum Überwachen und Beheben von Dataproc-Jobs sowie zur Bedeutung von Dataproc-Job-Fehlermeldungen.

Monitoring und Fehlerbehebung für Jobs

Verwenden Sie die Google Cloud CLI, die Dataproc REST API und die Google Cloud Console, um Dataproc-Jobs zu analysieren und Fehler zu beheben.

gcloud-CLI

So prüfen Sie den Status eines laufenden Jobs:

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

Informationen zum Aufrufen 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 Aufrufen der Job-Treiberausgabe finden Sie unter Jobausgabe ansehen.

So rufen Sie das Log für den Dataproc-Agent in Logging auf: Wählen Sie Dataproc-Cluster → Clustername → Cluster-UUID aus Clusterauswahl im Log-Explorer.

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

Job Logs in Logging ansehen

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

Herausfinden, 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 abgerufen: Zeigt 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 aktiver Agent auf Masterknoten gefunden: Der Dataproc-Agent auf dem Masterknoten ist nicht aktiv und kann keine neuen Jobs annehmen. Dies passiert häufig aufgrund von unzureichendem Arbeitsspeicher oder Netzwerk oder 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. Dies ist oft auf das Einreichen vieler gleichzeitig laufender Jobs oder Jobs zurückzuführen, deren Treiber viel Arbeitsspeicher verbrauchen (Jobs, die große Datensätze in den Arbeitsspeicher laden). Dieses Problem kann durch einen Neustart behoben werden. (anschließen und starten) den Dataproc-Cluster aus oder wiederholen Sie die Jobübermittlung später noch einmal. Hinweis: Wenn Sie einen Cluster anhalten, schlagen alle laufenden Jobs fehl.

  • Task not found (Aufgabe nicht gefunden): Gibt an, dass der Cluster gelöscht wurde, während ein Job ausgeführt wurde ausgeführt wird. Bestätigen Sie den Cluster, bevor Sie einen Job senden, um diesen Fehler zu vermeiden Status ist RUNNING, indem Sie sich den Clusterstatus auf der Seite Cluster in der Google Cloud Console gcloud dataproc clusters describe ausführen oder durch Aktivieren der ClusterStatus.State mit einem clusters.get API-Anfrage.