Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Jobs, die in einem RUNNABLE
Status feststecken
Angenommen, Ihre Datenverarbeitungsumgebung enthält Rechenressourcen, aber Ihre Jobs werden nicht über diesen RUNNABLE
Status hinaus bearbeitet. Dann ist es wahrscheinlich, dass etwas verhindert, dass die Jobs auf einer Rechenressource platziert werden, und dass Ihre Jobwarteschlangen blockiert werden. Hier erfahren Sie, ob Ihr Job darauf wartet, an der Reihe zu sein, oder ob er feststeckt und die Warteschlange blockiert.
Wenn AWS Batch festgestellt wird, dass Sie einen RUNNABLE
Job an der Spitze haben und die Warteschlange blockieren, erhalten Sie von Amazon CloudWatch Events eine Ressource: Blockierte Ereignisse in der Jobwarteschlange Veranstaltung mit dem Grund. Derselbe Grund wird auch im Rahmen von ListJobs
DescribeJobs
API-Aufrufen in das statusReason
Feld aktualisiert.
Optional können Sie den jobStateTimeLimitActions
Parameter über CreateJobQueue
und UpdateJobQueue
API-Aktionen konfigurieren.
Anmerkung
Derzeit besteht die einzige Aktion, die Sie mit verwenden können, jobStateLimitActions.action
darin, einen Job abzubrechen.
Der jobStateTimeLimitActions
Parameter wird verwendet, um eine Reihe von Aktionen anzugeben, die AWS Batch für Jobs in einem bestimmten Status ausgeführt werden. Sie können über das maxTimeSeconds
Feld einen Zeitschwellenwert in Sekunden festlegen.
Wenn sich ein Job in einem RUNNABLE
Zustand mit dem definierten Status befunden hat statusReason
AWS Batch , wird die angegebene Aktion nach Ablauf maxTimeSeconds
ausgeführt.
Sie können den jobStateTimeLimitActions
Parameter beispielsweise so einstellen, dass bis zu 4 Stunden auf jeden Job in diesem RUNNABLE
Status gewartet wird, der darauf wartet, dass genügend Kapazität verfügbar wird. Sie können dies tun, indem Sie statusReason
den CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY
Wert maxTimeSeconds
auf 144000 einstellen, bevor Sie den Job abbrechen und dem nächsten Job erlauben, an die Spitze der Job-Warteschlange zu gelangen.
Im Folgenden sind die Gründe aufgeführt, aus denen AWS Batch hervorgeht, dass eine Auftragswarteschlange blockiert ist. Diese Liste enthält die Nachrichten, die von den Aktionen ListJobs
und der DescribeJobs
API zurückgegeben wurden. Dies sind auch dieselben Werte, die Sie für den jobStateLimitActions.statusReason
Parameter definieren können.
-
Grund: In allen verbundenen Rechenumgebungen treten Fehler aufgrund unzureichender Kapazitäten auf. AWS Batch Erkennt auf Anfrage EC2 Amazon-Instances, bei denen Fehler mit unzureichender Kapazität auftreten. Wenn der Auftrag manuell storniert wird, kann der nachfolgende Auftrag an die Spitze der Warteschlange verschoben werden. Ohne die Probleme mit der Servicerolle zu lösen, ist es jedoch wahrscheinlich, dass auch der nächste Auftrag blockiert wird. Es empfiehlt sich, dieses Problem manuell zu untersuchen und zu lösen.
-
statusReason
Nachricht, während der Job feststeckt:CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY - Service cannot fulfill the capacity requested for instance type [instanceTypeName]
-
reason
verwendet fürjobStateTimeLimitActions
:CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY
-
statusReason
Nachricht, nachdem der Job abgebrochen wurde:Canceled by JobStateTimeLimit action due to reason: CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY
Hinweis:
-
Die AWS Batch Servicerolle benötigt eine
autoscaling:DescribeScalingActivities
entsprechende Genehmigung, damit diese Erkennung funktioniert. Wenn Sie die Dienstbezogene Rollenberechtigungen für AWS Batch serviceverknüpfte Rolle (SLR) oder die AWS verwaltete Richtlinie: AWSBatchServiceRoleRichtlinie verwaltete Richtlinie verwenden, müssen Sie keine Maßnahmen ergreifen, da die entsprechenden Berechtigungsrichtlinien aktualisiert wurden. -
Wenn Sie die SLR- oder die verwaltete Richtlinie verwenden, müssen Sie die
ec2:DescribeSpotFleetRequestHistory
Berechtigungenautoscaling:DescribeScalingActivities
und hinzufügen, damit Sie blockierte Jobwarteschlangenereignisse und den aktualisierten Auftragsstatus erhalten können, wenn Sie angemeldet sind.RUNNABLE
Darüber hinaus sind diese AWS Batch Berechtigungen erforderlich, umcancellation
Aktionen über denjobStateTimeLimitActions
Parameter ausführen zu können, auch wenn sie in der Auftragswarteschlange konfiguriert sind. -
Wenn bei einem MNP-Job (Multi-Node Parallel) Fehler in der angehängten EC2 Amazon-Rechenumgebung mit hoher Priorität auftreten, wird die Warteschlange blockiert, selbst wenn dieser
insufficient capacity
Fehler in einer Rechenumgebung mit niedrigerer Priorität auftritt.
-
-
Grund: Alle Computerumgebungen haben einen
maxvCpus
Parameter, der kleiner ist als die Jobanforderungen. Wenn Sie den Job entweder manuell oder durch Aktivieren desjobStateTimeLimitActions
Parameters abbrechenstatusReason
, kann der nachfolgende Job an die Spitze der Warteschlange verschoben werden. Optional können Sie denmaxvCpus
Parameter der primären Rechenumgebung erhöhen, um den Anforderungen des blockierten Auftrags gerecht zu werden.-
statusReason
Nachricht, während der Job feststeckt:MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE - CE(s) associated with the job queue cannot meet the CPU requirement of the job.
-
reason
verwendet fürjobStateTimeLimitActions
:MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE
-
statusReason
Nachricht, nachdem der Job abgebrochen wurde:Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE
-
-
Grund: Keine der Rechenumgebungen verfügt über Instanzen, die die Jobanforderungen erfüllen. Wenn ein Job Ressourcen anfordert, wird AWS Batch erkannt, dass keine angeschlossene Rechenumgebung in der Lage ist, den eingehenden Job zu verarbeiten. Wenn Sie den Job entweder manuell oder durch Aktivieren des
jobStateTimeLimitActions
Parameters abbrechenstatusReason
, kann der nachfolgende Job an die Spitze der Warteschlange verschoben werden. Optional können Sie die zulässigen Instanztypen der Rechenumgebung neu definieren, um die erforderlichen Jobressourcen hinzuzufügen.-
statusReason
Nachricht, während der Job feststeckt:MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT - The job resource requirement (vCPU/memory/GPU) is higher than that can be met by the CE(s) attached to the job queue.
-
reason
verwendet fürjobStateTimeLimitActions
:MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT
-
statusReason
Nachricht, nachdem der Job abgebrochen wurde:Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT
-
-
Grund: In allen Computerumgebungen gibt es Probleme mit Servicerollen. Um dieses Problem zu lösen, vergleichen Sie Ihre Berechtigungen für Servicerollen mit AWS verwaltete Richtlinien für AWS Batch denen und schließen Sie etwaige Lücken. Hinweis: Sie können über den
jobStateTimeLimitActions
Parameter keine programmierbare Aktion konfigurieren, um diesen Fehler zu beheben.Es hat sich bewährt, den zu verwenden, um ähnliche Dienstbezogene Rollenberechtigungen für AWS Batch Fehler zu vermeiden.
Wenn Sie den Auftrag entweder manuell oder durch Aktivieren des
jobStateTimeLimitActions
Parameters abbrechenstatusReason
, kann der nachfolgende Auftrag an die Spitze der Warteschlange verschoben werden. Ohne die Probleme mit der Servicerolle zu lösen, ist es wahrscheinlich, dass auch der nächste Auftrag blockiert wird. Es empfiehlt sich, dieses Problem manuell zu untersuchen und zu lösen.-
statusReason
Nachricht, während der Job feststeckt:MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS – Batch service role has a permission issue.
-
-
Grund: Alle Rechenumgebungen sind ungültig. Weitere Informationen finden Sie unter INVALIDDatenverarbeitungsumgebung. Hinweis: Sie können über den
jobStateTimeLimitActions
Parameter keine programmierbare Aktion konfigurieren, um diesen Fehler zu beheben.-
statusReason
Meldung, während der Job feststeckt:ACTION_REQUIRED - CE(s) associated with the job queue are invalid.
-
-
Grund: AWS Batch hat eine blockierte Warteschlange erkannt, kann aber den Grund nicht ermitteln. Hinweis: Sie können über den
jobStateTimeLimitActions
Parameter keine programmierbare Aktion konfigurieren, um diesen Fehler zu beheben. Weitere Informationen zur Fehlerbehebung finden Sie unter Warum ist mein AWS Batch Job in RUNNABLE hängen AWS geblieben inre:POST. -
statusReason
Nachricht, während der Job feststeckt:UNDETERMINED - Batch job is blocked, root cause is undetermined.
-
Falls Sie kein Ereignis von CloudWatch Events erhalten haben oder ein Ereignis mit unbekanntem Grund erhalten haben, finden Sie hier einige der häufigsten Ursachen für dieses Problem.
- Der
awslogs
Protokolltreiber ist auf Ihren Rechenressourcen nicht konfiguriert -
AWS Batch Jobs senden ihre Protokollinformationen an CloudWatch Logs. Um die entsprechende Funktion zu aktivieren, müssen Sie Ihre Datenverarbeitungsressourcen so konfigurieren, dass sie den
awslogs
-Protokolltreiber verwenden. Angenommen, Sie basieren Ihr Computerressourcen-AMI auf dem für Amazon ECS optimierten AMI (oder Amazon Linux). Dann ist dieser Treiber standardmäßig imecs-init
Paket registriert. Nehmen wir nun an, Sie verwenden ein anderes Basis-AMI. Anschließend müssen Sie überprüfen, ob derawslogs
Protokolltreiber als verfügbarer Protokolltreiber mit derECS_AVAILABLE_LOGGING_DRIVERS
Umgebungsvariablen angegeben ist, wenn der Amazon ECS-Container-Agent gestartet wird. Weitere Informationen erhalten Sie unter AMI-Spezifikation für Rechenressourcen und Tutorial: Erstellen Sie ein Compute-Ressourcen-AMI. - Unzureichende Ressourcen
-
Wenn in Ihren Jobdefinitionen mehr CPU- oder Speicherressourcen angegeben sind, als Ihre Rechenressourcen zuweisen können, werden Ihre Jobs niemals vergeben. Nehmen wir zum Beispiel an, Ihr Job spezifiziert 4 GiB Arbeitsspeicher und für Ihre Rechenressourcen ist weniger verfügbar. Dann ist es so, dass der Job nicht auf diesen Rechenressourcen platziert werden kann. In diesem Fall müssen Sie den angegebenen Speicher in Ihrer Auftragsdefinition reduzieren oder Ihrer Umgebung größere Datenverarbeitungsressourcen hinzufügen. Ein Teil des Speichers ist für den Amazon ECS-Container-Agenten und andere kritische Systemprozesse reserviert. Weitere Informationen finden Sie unter Speicherverwaltung für Rechenressourcen.
- Kein Internetzugang für Rechenressourcen
Datenverarbeitungsressourcen benötigen einen externen Netzwerkzugriff, um mit dem Amazon-ECS-Service-Endpunkt zu kommunizieren. Dies kann über einen Schnittstellen-VPC-Endpunkt oder über Ihre Datenverarbeitungsressourcen mit öffentlichen IP-Adressen sein.
Weitere Informationen zu Interface-VPC-Endpunkten finden Sie unter Amazon-ECS-Schnittstellen-VPC-Endpunkte (AWS PrivateLink) im Amazon Elastic Container Service-Entwicklerhandbuch.
Wenn Sie keinen Schnittstellen-VPC-Endpunkt konfiguriert haben und Ihre Datenverarbeitungsressourcen keine öffentlichen IP-Adressen haben, müssen Sie Netzwerkadressübersetzung (Network Address Translation, NAT) verwenden, um diesen Zugriff zur Verfügung zu stellen. Weitere Informationen finden Sie unter NAT-Gateways im Amazon VPC-Benutzerhandbuch. Weitere Informationen finden Sie unter Tutorial: Eine VPC erstellen.
- EC2 Amazon-Instanzlimit erreicht
-
Die Anzahl der EC2 Amazon-Instances, in denen Ihr Konto gestartet werden kann, hängt von Ihrem EC2 Instance-Kontingent ab. AWS-Region Bestimmte Instance-Typen haben auch ein per-instance-type Kontingent. Weitere Informationen zum EC2 Amazon-Instance-Kontingent Ihres Kontos, einschließlich der Beantragung einer Limiterhöhung, finden Sie unter Amazon EC2 Service Limits im EC2 Amazon-Benutzerhandbuch.
- Der Amazon ECS-Container-Agent ist nicht installiert
-
Der Amazon ECS-Container-Agent muss auf dem Amazon Machine Image (AMI) installiert sein, damit Jobs AWS Batch ausgeführt werden können. Der Amazon ECS-Container-Agent ist standardmäßig auf Amazon ECS Optimized installiert AMIs. Weitere Informationen zum Amazon ECS-Container-Agenten finden Sie unter Amazon ECS-Container-Agent im Amazon Elastic Container Service Developer Guide.
Weitere Informationen finden Sie unter Warum bleibt mein AWS Batch Job im RUNNABLE
Status hängen?