In diesem Dokument werden häufige Fehlermeldungen für Jobs aufgeführt und Informationen zum Monitoring und zur Fehlerbehebung für Jobs bereitgestellt, um Ihnen bei der Fehlerbehebung von Dataproc-Jobs zu helfen.
Häufige Fehlermeldungen für Jobs
Aufgabe wurde nicht abgerufen
Dies weist darauf hin, 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 Netzwerk konfiguration 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
Dies weist darauf hin, dass der Dataproc-Agent auf dem Masterknoten nicht aktiv ist und keine neuen Jobs annehmen kann. Dies ist oft auf fehlenden Speicher (Out-Of-Memory, OOM) oder auf Netzwerkprobleme zurückzuführen oder darauf, dass die VM des Masterknotens fehlerhaft ist. 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).
So können Sie das Problem beheben:
- Starten Sie den Job neu.
- Stellen Sie eine SSH-Verbindung zum Masterknoten des Clusters her, und ermitteln Sie dann, welcher Job oder welche andere Ressource den meisten Arbeitsspeicher verwendet.
Wenn Sie sich nicht im Masterknoten anmelden können, prüfen Sie die Logs des seriellen Ports (Konsole).
Generieren Sie ein Diagnosepaket, das das Syslog und andere Daten enthält.
Aufgabe wurde nicht gefunden
Dieser Fehler weist darauf hin, dass der Cluster gelöscht wurde, während ein Job ausgeführt wurde. Sie können die folgenden Schritte ausführen, um das Hauptkonto zu ermitteln, das den Löschvorgang ausgeführt hat, und zu bestätigen, dass der Cluster gelöscht wurde, während ein Job ausgeführt wurde:
Sehen Sie sich die Dataproc-Audit-Logs an, um das Hauptkonto zu ermitteln, das den Löschvorgang ausgeführt hat.
-
- Verwenden Sie in Logging den folgenden Filter:
resource.type="cloud_dataproc_cluster" resource.labels.cluster_name="CLUSTER_NAME" resource.labels.cluster_uuid="CLUSTER_UUID" "YARN_APPLICATION_ID State change from"
- Führen Sie
gcloud dataproc jobs describe job-id --region=REGIONaus, prüfen Sie dannyarnApplications: > STATEin der Ausgabe.
Wenn das Hauptkonto, das den Cluster gelöscht hat, das Dienstkonto des Dataproc-Dienst-Agentsist, prüfen Sie, ob für den Cluster eine automatische Löschdauer konfiguriert wurde, die kürzer als die Jobdauer ist.
Um Task not found Fehler zu vermeiden, verwenden Sie die Automatisierung, um sicherzustellen, dass Cluster nicht gelöscht werden
bevor alle laufenden Jobs abgeschlossen sind.
Kein Speicherplatz mehr auf dem Gerät
Dataproc schreibt HDFS- und Scratch- Daten auf die Festplatte. Diese Fehlermeldung weist darauf hin, dass der Cluster mit zu wenig Festplattenspeicher erstellt wurde. So analysieren und vermeiden Sie diesen Fehler:
Prüfen Sie auf der Seite Clusterdetails in der Google Cloud console auf dem Tab Configuration die Größe des primären Clusterlaufwerks. Die empfohlene Mindestgröße des Laufwerks beträgt
1000 GBfür Cluster mit demn1-standard-4Maschinentyp und2 TBfür Cluster mit demn1-standard-32Maschinentyp.Wenn die Größe des Clusterlaufwerks kleiner als die empfohlene Größe ist, erstellen Sie den Cluster mit mindestens der empfohlenen Größe neu.
Wenn die Laufwerksgröße die empfohlene Größe oder mehr beträgt, stellen Sie eine SSH-Verbindung zur Master-VM des Clusters her und führen Sie dann
df -hauf der Master-VM aus, um die Festplattennutzung zu prüfen und festzustellen, ob zusätzlicher Festplattenspeicher erforderlich ist.
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.
Wenn Sie das Dataproc-Agent-Log in Logging aufrufen möchten, wählen Sie in der Clusterauswahl des Logs Explorers 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.
Ermitteln, wer einen Job gesendet hat
In den Jobdetails: Im submittedBy
Feld 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