Auf dieser Seite erfahren Sie, wie Sie Probleme mit Batch beheben.
Wenn Sie die Fehlerbehebung für einen Job durchführen möchten, für den Sie keine Fehlermeldung haben, prüfen Sie, ob der Jobverlauf Fehlermeldungen enthält. Sehen Sie sich dazu die Statusereignisse an. Sehen Sie sich dann dieses Dokument an.
Weitere Informationen zur Fehlerbehebung bei Jobs finden Sie in den folgenden Dokumenten:
Fehler bei der Joberstellung
Wenn Sie einen Job nicht erstellen können, kann dies an einem der Fehler in diesem Abschnitt liegen.
Unzureichendes Kontingent
Problem
Eines der folgenden Probleme tritt auf, wenn Sie versuchen, einen Job zu erstellen:
Wenn sich der Job in der
QUEUED
, tritt das folgende Problem im FeldstatusEvents
:Quota checking process decides to delay scheduling for the job JOB_UID due to inadequate quotas [Quota: QUOTA_NAME, limit: QUOTA_LIMIT, usage: QUOTA_CURRENT_USAGE, wanted: WANTED_QUOTA.].
Dieses Problem zeigt an, dass sich der Job verzögert hat, weil der aktuelle Nutzung (
QUOTA_USAGE
) und Limit (QUOTA_LIMIT
) des KontingentsQUOTA_NAME
verhindert, dass der Job angeforderte Nutzung (WANT_QUOTA
).Wenn der Job den Status
QUEUED
,SCHEDULED
oderFAILED
hat, wird im FeldstatusEvents
eines der folgenden Probleme angezeigt:RESOURCE_NAME creation failed: Quota QUOTA_NAME exceeded. Limit: QUOTA_LIMIT in region REGION
RESOURCE_NAME creation failed: Quota QUOTA_NAME exceeded. Limit: QUOTA_LIMIT in zone ZONE
Dieses Problem weist darauf hin, dass das Erstellen einer Ressource fehlgeschlagen ist, weil der Ihr Kontingent von
QUOTA_NAME
überschritten, das hat ein Limit vonQUOTA_LIMIT
in der angegebenen Ort.
Lösung
So beheben Sie das Problem:
Wenn der Job verzögert wurde, warten Sie, bis mehr Kontingent freigegeben wird.
Wenn der Job aufgrund unzureichenden Kontingents fehlgeschlagen ist oder diese Verzögerungen bestehen bleiben, Versuchen Sie, ein unzureichendes Kontingent zu verhindern, indem Sie einen der folgenden Schritte ausführen:
Erstellen Sie Jobs, die weniger oder ein anderes Kontingent nutzen. Sie können beispielsweise einen anderen zulässigen Speicherort oder Ressourcentyp für den Job angeben oder die Kontingentnutzung auf weitere Projekte aufteilen.
Fordern Sie bei Google Cloud ein höheres Kontingentlimit für Ihr Projekt an.
Weitere Informationen finden Sie unter Batchkontingente und -limits und Mit Kontingenten arbeiten
Unzureichende Berechtigungen, um als Dienstkonto zu fungieren
Problem
Das folgende Problem tritt auf, wenn Sie versuchen, einen Job zu erstellen:
Wenn für den Job keine Instanzvorlage verwendet wird, tritt das Problem so auf:
caller does not have access to act as the specified service account: SERVICE_ACCOUNT_NAME
Wenn für den Job eine Instanzvorlage verwendet wird, tritt das Problem so auf:
Error: code - CODE_SERVICE_ACCOUNT_MISMATCH, description - The service account specified in the instance template INSTANCE_TEMPLATE_SERVICE_ACCOUNT doesn't match the service account specified in the job JOB_SERVICE_ACCOUNT for JOB_UID, project PROJECT_NUMBER
Dieses Problem tritt in der Regel auf, wenn der Nutzer, der den Job erstellt, nicht über ausreichende Berechtigungen verfügt, um als das vom Job verwendete Dienstkonto zu agieren. Dies wird durch die Berechtigung iam.serviceAccounts.actAs
gesteuert.
Lösung
So beheben Sie das Problem:
- Wenn der Job eine Instanzvorlage verwendet, prüfen Sie, ob das Dienstkonto die in der Instanzvorlage mit dem Dienstkonto übereinstimmen die in der Definition des Jobs angegeben ist.
- Dem Nutzer, der den Job erstellt, muss dieser
Rolle „Dienstkontonutzer“ (
roles/iam.serviceAccountUser
) für das für den Job angegebene Dienstkonto. Weitere Informationen finden Sie unter Zugriff verwalten - Erstellen Sie den Job neu.
Wiederholte Netzwerke
Problem
Das folgende Problem tritt auf, wenn Sie versuchen, einen Job zu erstellen:
Networks must be distinct for NICs in the same InstanceTemplate
Dieses Problem tritt auf, weil Sie das Netzwerk für einen Job mehrmals angegeben haben.
Lösung
Erstellen Sie den Job noch einmal und geben Sie das Netzwerk mit einer der folgenden Optionen an, um das Problem zu beheben:
- VM-Instanzvorlage:Wenn Sie Beim Erstellen dieses Jobs eine VM-Instanzvorlage verwenden, müssen Sie das Netzwerk in der VM-Instanzvorlage angeben.
- Felder
network
undsubnetwork
: Diese Felder können im Anfragetext verwendet werden, wenn Sie einen Job mit der Methode Batch API oder in der JSON-Konfigurationsdatei verwenden, wenn Sie mithilfe der gcloud CLI abrufen. --network
- und--subnetwork
-Flags: Diese Flags können mit dem Befehlgcloud batch jobs submit
verwendet werden, wenn Sie einen Job mit der gcloud CLI erstellen.
Weitere Informationen finden Sie unter Netzwerk für einen Job angeben.
Ungültiges Netzwerk für VPC Service Controls
Problem
Das folgende Problem tritt auf, wenn Sie versuchen, einen Job zu erstellen:
no_external_ip_address field is invalid. VPC Service Controls is enabled for the project, so external ip address must be disabled for the job. Please set no_external_ip_address field to be true
Lösung
Dieses Problem tritt auf, weil Sie versuchen, einen Job mit VMs zu erstellen und auszuführen. mit externen IP-Adressen in einem VPC Service Controls-Dienstperimeter.
Um das Problem zu beheben, erstellen Sie einen Job, der den externen Zugriff für alle VMs blockiert.
Weitere Informationen zum Konfigurieren des Netzwerks für einen Job in einem VPC Service Controls-Dienstperimeter, Siehe VPC Service Controls mit Batch verwenden.
Jobprobleme und Fehler
Wenn Sie Probleme mit einem Job haben, der nicht korrekt ausgeführt wird oder für Gründe hierfür sind, kann an einem der Fehler in diesem Abschnitt oder einen der Exit-Codes im Abschnitt Exit-Codes für Aufgabenfehler.
Keine Logs in Cloud Logging
Problem
Sie müssen einen Job debuggen, aber für den Job werden in Cloud Logging:
Dieses Problem tritt häufig aus folgenden Gründen auf:
- Die Cloud Logging API ist für Ihr Projekt nicht aktiviert. Auch wenn Sie alles andere für die Logs eines Jobs korrekt konfigurieren, Es werden keine Logs generiert, wenn der Dienst nicht für für Ihr Projekt.
- Das Dienstkonto des Jobs hat keine Berechtigung zum Schreiben von Protokollen. Ohne ausreichende Berechtigungen können keine Protokolle für einen Job erstellt werden.
- Der Job wurde nicht zum Erstellen von Logs konfiguriert. Zum Erstellen von Logs in Cloud Logging müssen Sie für einen Job Cloud Logging aktiviert haben. Die ausführbaren Dateien des Jobs sollten so konfiguriert sein, dass alle Informationen, die in Logs erscheinen sollen, in die Standardausgabe (stdout) und den Standardfehlerstream (stderr) geschrieben werden. Weitere Informationen finden Sie unter Jobs anhand von Protokollen analysieren.
- Tasks wurden nicht ausgeführt. Logs können erst erstellt werden, wenn Tasks Ressourcen zugewiesen wurden und ausgeführt werden.
- Cloud Logging wurde so konfiguriert, dass die Logs des Jobs automatisch ausgeschlossen werden. Logs von Batchjobs werden möglicherweise nicht angezeigt, wenn Sie Ausschlussfilter für Cloud Logging konfiguriert haben, die dazu führen, dass Logs von Batchjobs ausgeschlossen werden.
Lösung
So beheben Sie das Problem:
- Achten Sie darauf, dass die Logs nicht automatisch aus Cloud Logging ausgeschlossen wurden indem Sie alle aktuellen Ausschlussfilter für Cloud Logging.
- Achten Sie darauf, dass die Cloud Logging API für Ihr Projekt aktiviert ist.
- Achten Sie darauf, dass das Dienstkonto für den Job die
IAM-Rolle Logautor (
roles/logging.logWriter
) Weitere Informationen finden Sie unter Batch-Verarbeitung für ein Projekt aktivieren. - Rufen Sie die Details des Jobs mit der gcloud CLI oder Batch API auf.
Die Jobdetails können Ihnen helfen zu verstehen, warum der Job nicht
Protokolle erstellen und Informationen liefern,
aus Protokollen. Gehen Sie beispielsweise so vor:
- Prüfen Sie im Feld
logsPolicy
des Jobs, ob das Logging aktiviert ist. - Ob der Job erfolgreich ausgeführt wurde, können Sie in der
Feld
status
.
- Prüfen Sie im Feld
Erstellen Sie den Job neu, nachdem Sie Änderungen vorgenommen haben, und warten Sie, bis er bevor Sie die Logs prüfen.
Keine Berichte zu Kundenservicemitarbeitern
Problem
Für einen Job, der nicht richtig ausgeführt wird oder vor dem Erstellen von VMs fehlgeschlagen ist, wird im Feld statusEvents
das folgende Problem angezeigt:
No VM has agent reporting correctly within time window NUMBER_OF_SECONDS seconds, VM state for instance VM_NAME is TIMESTAMP,agent,start
Das Problem weist darauf hin, dass keine der VMs eines Jobs dem Batch-Dienst-Agenten meldet.
Dieses Problem tritt häufig aus folgenden Gründen auf:
- Die VMs des Jobs haben nicht genügend Berechtigungen.
Die VMs eines Jobs benötigen bestimmte Berechtigungen, um ihren Status an den
Batch-Dienst-Agent. Sie können diese Berechtigungen für die VMs eines Jobs gewähren, indem Sie dem Dienstkonto des Jobs die Rolle „Batch Agent Reporter“ (
roles/batch.agentReporter
) zuweisen. - Die VMs des Jobs haben Netzwerkprobleme. Für die VMs eines Jobs ist ein Netzwerk erforderlich Zugriff, um mit dem Batch-Dienst-Agent zu kommunizieren.
- Die VMs des Jobs verwenden ein veraltetes Betriebssystem-Image für Batch-VMs oder ein VM-Betriebssystem-Image mit veralteter Batch-Dienst-Agent-Software. Die VMs des Jobs erfordern Software im VM-Betriebssystem-Image, die den aktuelle Abhängigkeiten für die Berichterstellung an die Batch-Dienst-Agent.
Lösung
So beheben Sie das Problem:
Prüfen Sie, ob die VMs des Jobs die erforderlichen Berechtigungen haben, um ihren Status an den Batch-Dienst-Agenten zu melden.
- Wenn Sie das Dienstkonto des Jobs ermitteln möchten, rufen Sie die Jobdetails mit der gcloud CLI oder der Batch API auf. Wenn kein Dienstkonto aufgeführt ist, verwendet der Job standardmäßig das Compute Engine-Standarddienstkonto.
Prüfen Sie, ob das Dienstkonto des Jobs Berechtigungen für die Rolle „Batch Agent Reporter“ (
roles/batch.agentReporter
). Weitere Informationen finden Sie unter Zugriff verwalten und Nutzung von Dienstkonten einschränken.Wenn Sie beispielsweise dem Compute Engine-Standarddienstkonto die erforderlichen Berechtigungen erteilen möchten, verwenden Sie den folgenden Befehl:
gcloud projects add-iam-policy-binding PROJECT_ID \ --role roles/batch.agentReporter \ --member serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com
- Ersetzen Sie PROJECT_NUMBER durch Ihre Projektnummer.
- Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
Prüfen Sie, ob die VMs des Jobs über den richtigen Netzwerkzugriff verfügen. Weitere Informationen finden Sie unter Batch-Netzwerkübersicht und Fehlerbehebung bei häufigen Netzwerkproblemen.
Wenn Sie das VM-Betriebssystem-Image für den Job angegeben haben, prüfen Sie, ob es derzeit unterstützt wird.
Wenn Sie Cloud Logging für den Job aktiviert haben, können Sie dieses Problem anhand der folgenden Agent-Logs (
batch_agent_logs
) ermitteln. Weitere Informationen finden Sie unter Job mithilfe von Logs analysieren.Log für veralteten Batch-Dienst-Agent-Softwarefehler:
rpc error: code = FailedPrecondition, desc = Invalid resource state for BATCH_AGENT_VERSION: outdated Batch agent version used.
Die BATCH_AGENT_VERSION ist die Softwareversion für mit dem Batch-Dienst-Agent kommunizieren, in Jobs verwendet werden, z. B.
cloud-batch-agent_20221103.00_p00
.Log für Fehler bei veraltetem Batch-VM-Betriebssystem-Image:
rpc error: code = FailedPrecondition, desc = Invalid resource state for BATCH_VM_OS_IMAGE_NAME: outdated Batch image version.
BATCH_VM_OS_IMAGE_NAME ist die spezifische Version einer VM-Betriebssystem-Image aus Batch, das der Job verwendet, z. B.
batch-debian-11-20220909-00-p00
.
Sie können dieses Problem beheben, indem Sie ein neueres VM-Betriebssystem-Image verwenden. Wenn für den Job ein benutzerdefiniertes Image verwendet wird, erstellen Sie es anhand der neuesten Version eines unterstützten öffentlichen Images neu.
Weitere Informationen finden Sie unter Unterstützte VM-Betriebssystem-Images und VM-Betriebssystem-Images ansehen.
Erstellen Sie den Job neu.
Fehlende Ressourcenmesswerte in Cloud Monitoring
Problem
Sie möchten sich Ressourcenmesswerte für einen Job ansehen, aber einige oder alle erwarteten Messwerte fehlen.
Dieses Problem tritt häufig aus folgenden Gründen auf:
- Die API wurde für Ihr Projekt nicht aktiviert. Auch wenn Sie alles andere in Ihrem Projekt korrekt konfigurieren, Messwerte werden möglicherweise erst angezeigt, wenn die Cloud Monitoring API aktiviert ist. Für den Ops-Agent müssen Sie auch die Cloud Logging API aktivieren.
- Sie sind nicht berechtigt, die Messwerte anzusehen. Ohne ausreichende Berechtigungen können Sie keine Messwerte aufrufen.
- Die VMs des Jobs wurden nicht ausgeführt. Messwerte können für einen Job nicht erstellt werden bis mindestens eine der VMs des Jobs ausgeführt wird.
- Die Konfiguration oder Berechtigungen des Jobs unterstützen keine Ops-Agent-Messwerte. Einige Ressourcenmesswerte können nur vom Ops-Agenten bereitgestellt werden. Zur Unterstützung von Ops Agent-Messwerte, ein Job muss die Anforderungen für den Ops-Agent erfüllen, installieren den Ops-Agent ausführen und ein Dienstkonto verwenden, das Messwerte in Monitoring
- Sie müssen eine andere Methode oder einen anderen Filter verwenden, um die Messwerte anzusehen. Bei einigen Methoden zum Ansehen von Messwerten werden keine Messwerte für VMs angezeigt, nachdem die VMs gelöscht wurden. Außerdem werden Messwerte nicht angezeigt, wenn sie in Filtern weggelassen werden angezeigter Zeitraum. Außerdem haben Messwertdiagramme eine einstellbare Auflösung, die dazu führen kann, dass kleine Datenmengen zu dünn sind, um dargestellt zu werden.
- Die Messwerte wurden gelöscht. Sie können Messwerte nach dem Löschen nicht mehr aufrufen. Dies geschieht automatisch nach der Monitoring-Aufbewahrung. Zeiträume.
Lösung
Wenn nur Ops-Agent-Messwerte fehlen, versuchen Sie zuerst, das Problem zu beheben, indem Sie Folgendes:
- So prüfen Sie die Konfiguration des Jobs:
- Um die vollständigen Konfigurationsinformationen des Jobs anzuzeigen, Rufen Sie die Details des Jobs mit der gcloud CLI oder Batch API auf. Verwenden Sie die Ausgabe für die restlichen Schritte.
- Das Dienstkonto des Jobs muss Berechtigungen zum Schreiben von Ops-Agent-Messwerten haben.
- Prüfen Sie, ob die Aufgabe alle Anforderungen an den Ops-Agenten erfüllt.
- Prüfen Sie, ob der Ops-Agent durch den Job korrekt installiert wird. Obwohl es
den Ops-Agent manuell in einer ausführbaren Datei installieren,
empfohlene Methode ist die automatische Installation des Ops-Agents durch
das Festlegen der
Feld „
installOpsAgent
“ antrue
.
- Wenn das Problem weiterhin besteht, lesen Sie Fehler beim Ops-Agent beheben in der Dokumentation zu Google Cloud Observability.
Andernfalls beheben Sie das Problem so:
- Die Monitoring API muss für Ihr Projekt aktiviert sein:
- Achten Sie darauf, dass die VMs des Jobs gestartet wurden und die Laufzeit noch nicht abgelaufen ist im Aufbewahrungsdauer überwachen Die Ausführungszeit des Jobs finden Sie in den Jobdetails.
- Prüfen Sie, ob Probleme mit den Methoden auftreten, mit denen Sie Messwerte aufrufen:
- Sofern Sie keine Messwerte nur für laufende Ressourcen sehen möchten, Messwerte mit dem Metrics Explorer oder einem benutzerdefinierten aus Metrics Explorer-Diagrammen erstellt. Bei anderen Methoden, z. B. Compute Engine-Dashboards, werden keine Messwerte für gelöschte Ressourcen angezeigt.
- Der Ausgabezeitraum muss die Laufzeit des Jobs umfassen. Achten Sie bei Diagrammen außerdem darauf, dass die Diagrammauflösung für Ihre Daten geeignet ist.
- Achten Sie darauf, dass keine Filter aktiviert sind, die die Daten ausblenden.
- Wenn das Problem weiterhin besteht, sehen Sie in der Fehlerbehebung bei Cloud Monitoring in der Dokumentation zu Google Cloud Observability.
Verstoß gegen Einschränkung für externe IP-Adressen der VM
Problem
Das folgende Problem tritt in der
Feld „statusEvents
“
für einen fehlgeschlagenen Job:
Instance VM_NAME creation failed: Constraint constraints/compute.vmExternalIpAccess violated for project PROJECT_NUMBER. Add instance VM_NAME to the constraint to use external IP with it.
Dieses Problem tritt auf, weil für Ihr Projekt, Ihren Ordner oder Ihre Organisation
Einschränkung der Organisationsrichtlinie compute.vmExternalIpAccess
damit nur VMs auf der Zulassungsliste externe IP-Adressen verwenden können.
Lösung
Erstellen Sie den Job neu und führen Sie einen der folgenden Schritte aus, um das Problem zu beheben:
- Verwenden Sie ein Projekt, das von der Einschränkung ausgenommen ist.
- Erstellen Sie einen Job, der den externen Zugriff für alle VMs blockiert.
Verstoß gegen die Beschränkung für vertrauenswürdige Images
Problem
Für einen fehlgeschlagenen Job wird im Feld statusEvents
das folgende Problem angezeigt:
Instance VM_NAME creation failed: Constraint constraints/compute.trustedImageProjects violated for project PROJECT_ID. Use of images from project batch-custom-image is prohibited.
Lösung
Dieses Problem tritt auf, weil in Ihrem Projekt
Einschränkung der Richtlinie für vertrauenswürdige Images (compute.trustedImageProjects
)
damit die Bilder aus Batch, die in der
batch-custom-image
Image-Projekt sind nicht zulässig.
Führen Sie mindestens einen der folgenden Schritte aus, um das Problem zu beheben:
- Erstellen Sie den Job neu, um ein VM-Betriebssystem-Image anzugeben. die bereits von der Einschränkung der Richtlinie für vertrauenswürdige Images zugelassen ist.
- Bitten Sie Ihren Administrator, die Einschränkung der Richtlinie für vertrauenswürdige Images zu ändern, um VM-Betriebssystem-Images aus dem Images-Projekt
batch-custom-image
zuzulassen. Eine Anleitung finden Sie unter Zugriff auf VM-Betriebssystem-Images für Batch-Jobs steuern.
Job ist bei Verwendung einer Instanzvorlage fehlgeschlagen
Problem
Für einen fehlgeschlagenen Job, der eine Instanzvorlage verwendet, wird im Feld statusEvents
das folgende Problem angezeigt:
INVALID_FIELD_VALUE,BACKEND_ERROR
Dieses Problem tritt aufgrund unklarer Probleme mit der Instanzvorlage des Jobs auf.
Lösung
So beheben Sie das Problem:
- MIG erstellen mit der Instanzvorlage und beobachten, ob Fehler auftreten.
Optional: Weitere Informationen finden Sie unter Langwieriger Vorgang, der in der Google Cloud Console zum Erstellen der MIG ausgeführt wird.
Exit-Codes bei fehlgeschlagenen Aufgaben
Wenn eine bestimmte Aufgabe in einem Job fehlschlägt, gibt die Aufgabe einen Wert ungleich null zurück.
Exit-Code.
Je nachdem, wie Sie das Feld ignoreExitStatus
konfigurieren, kann eine fehlgeschlagene Aufgabe dazu führen, dass ein Job fehlschlägt oder nicht.
Neben den Exit-Codes, die Sie in einem ausführbaren Code definieren, Batch hat mehrere reservierte Exit-Codes, einschließlich der im Anschluss an die Exit-Codes.
Vorzeitiges Beenden von VMs (50001)
Problem
Das folgende Problem tritt in der
Feld „statusEvents
“
für einen Job:
Task state is updated from PRE-STATE to FAILED on zones/ZONE/instances/INSTANCE_ID due to Spot Preemption with exit code 50001.
Dieses Problem tritt auf, wenn eine Spot-VM für den Job während der Laufzeit vorzeitig beendet wird.
Lösung
Führen Sie einen der folgenden Schritte aus, um das Problem zu beheben:
- Wiederholen Sie die Aufgabe entweder mithilfe von automatischen Wiederholungen von Aufgaben oder führen Sie den Job manuell noch einmal aus.
- Verwenden Sie VMs mit der das standardmäßige Bereitstellungsmodell.
Zeitlimit für VM-Berichterstellung (50002)
Problem
Für einen Job wird im Feld statusEvents
das folgende Problem angezeigt:
Task state is updated from PRE-STATE to FAILED on zones/ZONE/instances/INSTANCE_ID due to Batch no longer receives VM updates with exit code 50002.
Dieses Problem tritt auf, wenn im Backend eine Zeitüberschreitung aufgetreten ist, Batch, um für den Job keine Updates mehr von einer VM zu erhalten. Leider können viele Hardware- oder Softwarefehler bei einer VM nicht reagieren – z. B. kann eine VM aufgrund eines temporären Hosts abstürzen oder unzureichende Ressourcen vorhanden sind.
Lösung
So beheben Sie das Problem:
- Falls das Problem vorübergehend ist und sich von selbst behebt, wiederholen Sie die Aufgabe entweder mithilfe der automatischen Wiederholung von Aufgaben oder führen Sie den Job manuell noch einmal aus.
Wenn das Problem weiterhin besteht, ermitteln und beheben Sie die Ursache, warum die VM nicht reagiert. Führen Sie dazu einen oder mehrere der folgenden Schritte aus:
Empfohlen:Support über Google Cloud-Support oder den Batchlabel in Cloud-Foren.
Versuchen Sie, das Problem selbst zu identifizieren und zu beheben. Wenn Sie zum Beispiel mit Compute Engine vertraut sind, können Sie versuchen, die VMs des Jobs. Gehen Sie dazu so vor:
So ermitteln Sie die Namen der VMs Ihres Jobs:
- Logs für den Job ansehen
- Filtern Sie Protokolle nach Einträgen, die den Begriff
report agent state:
enthalten. Überprüfen Sie die Logs, um die VM für jeden für jede Aufgabe. Jedes Log ist in etwa so eine
instance:
-Wortgruppe und mindestens einetask_id:
-Wortgruppereport agent state: ... instance:"INSTANCE_NAME" ... task_id:"task/JOB_UID-group0-TASK_INDEX/TASK_RETRIES/0 ..."
Dieses Log enthält die folgenden Werte:
INSTANCE_NAME
: der Name der VMJOB_UID
: Die eindeutige ID (UID) des Jobs.TASK_INDEX
: Der Index der Aufgabe.TASK_RETRIES
: Der Versuch der Aufgabe die auf dieser VM ausgeführt wurde, formatiert als Anzahl der Wiederholungen. Für den ersten Versuch einer Aufgabe lautet dieser Wert beispielsweise0
. Sofern Sie die automatische Wiederholung von Aufgaben nicht aktivieren, wird jede Aufgabe nur einmal ausgeführt.
Fehler an den VMs des Jobs mit der Compute Engine beheben Dokumentation. Weitere Informationen finden Sie unter Fehlerbehebung bei Neustarts und Neustarts von VMs und Fehlerbehebung beim VM-Startvorgang.
VM wurde während der Ausführung neu gestartet (50003)
Problem
Für einen Job wird im Feld statusEvents
das folgende Problem angezeigt:
Task state is updated from PRE-STATE to FAILED on zones/ZONE/instances/INSTANCE_ID due to VM is rebooted during task execution with exit code 50003.
Dieses Problem tritt auf, wenn eine VM für einen Job während der Laufzeit unerwartet neu startet.
Lösung
Um dieses Problem zu beheben, wiederholen Sie die Aufgabe entweder mithilfe von automatischen Wiederholungen von Aufgaben oder führen Sie den Job manuell noch einmal aus.
VM und Aufgabe reagieren nicht (50004)
Problem
Für einen Job wird im Feld statusEvents
das folgende Problem angezeigt:
Task state is updated from PRE-STATE to FAILED on zones/ZONE/instances/INSTANCE_ID due to tasks cannot be canceled with exit code 50004.
Dieses Problem tritt auf, wenn eine Aufgabe das Zeitlimit erreicht, die nicht reagiert, und nicht abgebrochen werden kann.
Lösung
Um dieses Problem zu beheben, wiederholen Sie die Aufgabe entweder mithilfe von automatisierte Wiederholungsversuche von Aufgaben oder den Job manuell noch einmal ausführen.
Aufgabe wird über die maximale Laufzeit (50.005) ausgeführt
Problem
Das folgende Problem tritt in der
Feld „statusEvents
“
für einen Job:
Task state is updated from PRE-STATE to FAILED on zones/ZONE/instances/INSTANCE_ID due to task runs over the maximum runtime with exit code 50005.
Dieses Problem tritt in den folgenden Fällen auf:
- Die Ausführungszeit einer Aufgabe überschreitet das im Feld
maxRunDuration
angegebene Zeitlimit. - Die Laufzeit eines ausführbaren Objekts überschreitet das in der
Feld „
timeout
“
Um genau zu ermitteln, welches Zeitlimit überschritten wurde,
Logs für den Job ansehen
und suchen Sie ein Log, in dem der Exit-Code 50005
erwähnt wird. In diesem Feld textPayload
dieses Protokolls wird angegeben, wo und wann das Zeitlimit überschritten wurde.
Lösung
Um das Problem zu beheben, versuchen Sie, die Gesamtlaufzeit zu überprüfen, die Aufgabe oder das ausführbare ausführbare Element, die das Zeitlimit überschritten hat. Führen Sie anschließend einen der folgenden Schritte aus:
Wenn Sie diesen Fehler nur gelegentlich erwarten, z. B. bei einer Aufgabe oder einem ausführbaren Programm mit einer inkonsistenten Laufzeit, können Sie versuchen, den Job neu zu erstellen und ihn so zu konfigurieren, dass Aufgabenwiederholungen automatisiert werden, um die Erfolgsquote zu erhöhen.
Wenn die Aufgabe oder das ausführbare Programm andernfalls regelmäßig und beabsichtigt länger als das aktuelle Zeitlimit benötigt, legen Sie ein längeres Zeitlimit fest.
VM wurde während der Ausführung neu erstellt (50006)
Problem
Das folgende Problem tritt in der
Feld „statusEvents
“
für einen Job:
Task state is updated from PRE-STATE to FAILED on zones/ZONE/instances/INSTANCE_ID due to VM is recreated during task execution with exit code 50006.
Dieses Problem tritt auf, wenn eine VM für einen Job während der Laufzeit unerwartet neu erstellt wird.
Lösung
Um dieses Problem zu beheben, wiederholen Sie die Aufgabe entweder mithilfe von automatisierte Wiederholungsversuche von Aufgaben oder den Job manuell noch einmal ausführen.