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 den 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 Blockierte Ereignisse in der Job-Warteschlange 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 UpdateJobQueueAPI-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 werden die Gründe aufgeführt, AWS Batch aus denen erkannt wird, 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 Sie den Auftrag manuell stornieren, wird der nachfolgende Auftrag an die Spitze der Warteschlange verschoben. 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.
-
statusReasonNachricht, während der Job feststeckt:CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY - Service cannot fulfill the capacity requested for instance type [instanceTypeName] -
reasonverwendet fürjobStateTimeLimitActions:CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY -
statusReasonNachricht, 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:DescribeScalingActivitiesentsprechende Genehmigung, damit diese Erkennung funktioniert. Wenn Sie die Verwenden von serviceverknüpften Rollen 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:DescribeSpotFleetRequestHistoryBerechtigungenautoscaling:DescribeScalingActivitiesund hinzufügen, damit Sie blockierte Jobwarteschlangenereignisse und den aktualisierten Auftragsstatus erhalten können, wenn Sie angemeldet sind.RUNNABLEDarüber hinaus sind diese AWS Batch Berechtigungen erforderlich, umcancellationAktionen über denjobStateTimeLimitActionsParameter 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 capacityFehler in einer Rechenumgebung mit niedrigerer Priorität auftritt.
-
-
Grund: Alle Computerumgebungen haben einen
maxvCpusParameter, der kleiner ist als die Jobanforderungen. Wenn Sie den Job entweder manuell oder durch Aktivieren desjobStateTimeLimitActionsParameters abbrechenstatusReason, kann der nachfolgende Job an die Spitze der Warteschlange verschoben werden. Optional können Sie denmaxvCpusParameter der primären Rechenumgebung erhöhen, um den Anforderungen des blockierten Auftrags gerecht zu werden.-
statusReasonNachricht, 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. -
reasonverwendet fürjobStateTimeLimitActions:MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE -
statusReasonNachricht, 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 der Job entweder manuell oder durch Aktivieren des
jobStateTimeLimitActionsParameters abgebrochen wirdstatusReason, 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.-
statusReasonNachricht, 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. -
reasonverwendet fürjobStateTimeLimitActions:MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT -
statusReasonNachricht, 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
jobStateTimeLimitActionsParameter keine programmierbare Aktion konfigurieren, um diesen Fehler zu beheben.Es hat sich bewährt, den zu verwenden, um ähnliche Verwenden von serviceverknüpften Rollen für AWS Batch Fehler zu vermeiden.
Wenn Sie den Auftrag entweder manuell oder durch Aktivieren des
jobStateTimeLimitActionsParameters 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.-
statusReasonNachricht, während der Job feststeckt:MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS – Batch service role has a permission issue.
-
-
Grund: Ihre Rechenumgebung hat eine Instance-Typ-Konfiguration, die nicht unterstützt wird. Dies kann der Fall sein, wenn Instance-Typen in den von Ihnen ausgewählten Availability Zones nicht verfügbar sind oder wenn Ihre Startvorlage oder Startkonfiguration Einstellungen enthält, die mit den angegebenen Instance-Typen nicht kompatibel sind. Um dieses Problem zu lösen, stellen Sie sicher, dass Ihre Instance-Typen in Ihren angegebenen Zonen AWS-Region und Availability Zones unterstützt werden, überprüfen Sie, ob Ihre Einstellungen für die Startvorlage mit Ihren Instance-Typen kompatibel sind, und erwägen Sie, auf Instance-Typen der neueren Generation zu aktualisieren. Weitere Informationen zur Suche nach unterstützten Instance-Typen finden Sie unter Suchen nach einem EC2 Amazon-Instance-Typ im EC2 Amazon-Benutzerhandbuch.
-
statusReasonNachricht, während der Job feststeckt:MISCONFIGURATION:EC2_INSTANCE_CONFIGURATION_UNSUPPORTED - Your compute environment associated with this job queue has an unsupported instance type configuration.
-
-
Grund: Alle Rechenumgebungen sind ungültig. Weitere Informationen finden Sie unter INVALIDDatenverarbeitungsumgebung. Hinweis: Sie können über den
jobStateTimeLimitActionsParameter keine programmierbare Aktion konfigurieren, um diesen Fehler zu beheben.-
statusReasonMeldung, 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
jobStateTimeLimitActionsParameter 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. -
statusReasonNachricht, 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
awslogsProtokolltreiber 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-initPaket registriert. Nehmen wir nun an, Sie verwenden ein anderes Basis-AMI. Anschließend müssen Sie überprüfen, ob derawslogsProtokolltreiber als verfügbarer Protokolltreiber mit derECS_AVAILABLE_LOGGING_DRIVERSUmgebungsvariablen angegeben ist, wenn der Amazon ECS-Container-Agent gestartet wird. Weitere Informationen erhalten Sie unter AMI-Spezifikation für Datenverarbeitungsressourcen 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 Erstellen einer VPC.
- 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?