Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Trabajos bloqueados en estado RUNNABLE
Suponga que su entorno de computación contiene recursos de computación, pero sus trabajos no progresan más allá del estado RUNNABLE
. Seguramente, algo impida que los trabajos se coloquen en un recurso informático y se bloqueen las colas de trabajos. A continuación, se explica cómo saber si un trabajo está esperando su turno o se ha atascado y bloqueado la cola.
Si AWS Batch detecta que tienes un RUNNABLE
trabajo a la cabeza y bloquea la cola, recibirás un Recurso: eventos bloqueados por la cola de trabajos evento de Amazon CloudWatch Events con el motivo. El mismo motivo también se actualiza en el statusReason
campo como parte de ListJobs
and DescribeJobs
API calls.
Si lo desea, puede configurar el jobStateTimeLimitActions
parámetro mediante CreateJobQueue
y UpdateJobQueue
APIacciones.
nota
Actualmente, la única acción que puede usar con jobStateLimitActions.action
es cancelar un trabajo.
El jobStateTimeLimitActions
parámetro se usa para especificar un conjunto de acciones que se AWS Batch realizan en trabajos en un estado específico. Puede establecer un umbral de tiempo en segundos en el campo maxTimeSeconds
.
Cuando un trabajo ha estado en un RUNNABLE
estado con el estado definidostatusReason
, AWS Batch realiza la acción especificada maxTimeSeconds
una vez transcurrido.
Por ejemplo, puede configurar el parámetro jobStateTimeLimitActions
para que espere hasta 4 horas en cualquier trabajo con el estado RUNNABLE
que esté esperando a que haya suficiente capacidad disponible. Para ello, establezca statusReason
en CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY
y maxTimeSeconds
en 144000 antes de cancelar el trabajo y permitir que el siguiente pase a ocupar el primer lugar de la lista de trabajos.
Los siguientes son los motivos que se AWS Batch utilizan cuando detecta que una cola de trabajos está bloqueada. Esta lista proporciona los mensajes devueltos por las DescribeJobs
API acciones ListJobs
y. También son los mismos valores que puede definir para el parámetro jobStateLimitActions.statusReason
.
-
Motivo: todos los entornos de computación conectados tienen errores de capacidad insuficiente. Cuando se solicita, AWS Batch detecta EC2 las instancias de Amazon que experimentan errores de capacidad insuficiente. Si se cancela manualmente el trabajo, el siguiente pasará a ocupar el primer lugar de la lista, pero si no se resuelven los problemas relacionados con las funciones de servicio, es probable que el siguiente trabajo también quede bloqueado. Lo mejor es investigar y resolver este problema manualmente.
-
Mensaje de
statusReason
mientras el trabajo está atascado:CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY - Service cannot fulfill the capacity requested for instance type [instanceTypeName]
-
reason
utilizado parajobStateTimeLimitActions
:CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY
-
Mensaje de
statusReason
después de cancelar el trabajo:Canceled by JobStateTimeLimit action due to reason: CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY
Nota:
-
El rol AWS Batch de servicio requiere
autoscaling:DescribeScalingActivities
permiso para que esta detección funcione. Si usa el rol Permisos de rol vinculados al servicio para AWS Batch vinculado al servicio (SLR) o la política AWS política gestionada: AWSBatchServiceRolepolítica administrada, no necesita realizar ninguna acción porque sus políticas de permisos están actualizadas. -
Si utilizas la política gestionada SLR o la política gestionada, debes añadir los
ec2:DescribeSpotFleetRequestHistory
permisosautoscaling:DescribeScalingActivities
y de forma que puedas recibir los eventos de las colas de trabajos bloqueadas y el estado de los trabajos actualizados cuando estés dentro.RUNNABLE
Además, AWS Batch necesita estos permisos para realizar acciones decancellation
a través del parámetrojobStateTimeLimitActions
, incluso si se han configurado en la cola de trabajos. -
En el caso de un trabajo parallel (MNP) de varios nodos, si el entorno de EC2 cómputo de Amazon de alta prioridad adjunto experimenta
insufficient capacity
errores, bloquea la cola incluso si un entorno de cómputo de menor prioridad experimenta este error.
-
-
Motivo: todos los entornos de computación tienen un parámetro
maxvCpus
inferior a los requisitos del trabajo. Si se cancela el trabajo, ya sea manualmente o configurando el parámetrojobStateTimeLimitActions
enstatusReason
, se permite que el trabajo siguiente pase al primer lugar en la cola. Si lo desea, puede aumentar el parámetromaxvCpus
del entorno de computación principal para satisfacer las necesidades del trabajo bloqueado.-
Mensaje de
statusReason
mientras el trabajo está atascado:MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE - CE(s) associated with the job queue cannot meet the CPU requirement of the job.
-
reason
utilizado parajobStateTimeLimitActions
:MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE
-
Mensaje de
statusReason
después de cancelar el trabajo:Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE
-
-
Motivo: ninguno de los entornos de procesamiento tiene instancias que cumplan con los requisitos del trabajo. Cuando un trabajo solicita recursos, AWS Batch detecta que ningún entorno informático conectado puede alojar el trabajo entrante. Si se cancela el trabajo, ya sea manualmente o configurando el parámetro
jobStateTimeLimitActions
enstatusReason
, se permite que el trabajo siguiente pase al primer lugar en la cola. Si lo desea, puede redefinir los tipos de instancias permitidos en el entorno de computación para añadir los recursos de trabajo necesarios.-
Mensaje de
statusReason
mientras el trabajo está atascado: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
utilizado parajobStateTimeLimitActions
:MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT
-
Mensaje de
statusReason
después de cancelar el trabajo:Canceled by JobStateTimeLimit action due to reason: MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT
-
-
Motivo: todos los entornos de computación tienen problemas con los roles de servicio. Para resolver este problema, compare los permisos de su rol de servicio con AWS políticas administradas para AWS Batch y solucione las brechas. Nota: No se puede configurar una acción programable a través del
jobStateTimeLimitActions
parámetro para resolver este error.Se recomienda utilizar Permisos de rol vinculados al servicio para AWS Batch para evitar errores similares.
Si se cancela el trabajo, ya sea manualmente o configurando el parámetro
jobStateTimeLimitActions
enstatusReason
, se permite que el trabajo siguiente pase al primer lugar en la cola. Si no se resuelven los problemas relacionados con los roles de servicio, es probable que también se bloquee el siguiente trabajo. Lo mejor es investigar y resolver este problema manualmente.-
Mensaje de
statusReason
mientras el trabajo está atascado:MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS – Batch service role has a permission issue.
-
-
Motivo: todos los entornos de computación no son válidos. Para obtener más información, consulte Entorno de computación INVALID. Nota: No se puede configurar una acción programable a través del parámetro
jobStateTimeLimitActions
para resolver este error.-
Mensaje de
statusReason
mientras el trabajo está atascado:ACTION_REQUIRED - CE(s) associated with the job queue are invalid.
-
-
Motivo: AWS Batch ha detectado una cola bloqueada, pero no ha podido determinar el motivo. Nota: No se puede configurar una acción programable a través del parámetro
jobStateTimeLimitActions
para resolver este error. Para obtener más información sobre la solución de problemas, consulta Why is my AWS Batch job stuck AWS in RUNNABLERe:post. -
Mensaje de
statusReason
mientras el trabajo está atascado:UNDETERMINED - Batch job is blocked, root cause is undetermined.
-
En caso de que no hayas recibido un evento de CloudWatch Events o hayas recibido un evento con un motivo desconocido, estas son algunas de las causas más comunes de este problema.
- El controlador de registros
awslogs
no está configurado en los recursos de computación -
AWS Batch los trabajos envían su información de registro a CloudWatch Logs. Para activarlo, debe configurar sus recursos de computación para utilizar el controlador de registro
awslogs
. Supongamos que basa su recurso informático AMI en Amazon ECS Optimized AMI (o Amazon Linux). A continuación, este controlador se registra de forma predeterminada en el paqueteecs-init
. Ahora supongamos que utiliza una base diferenteAMI. A continuación, debe comprobar que el controlador deawslogs
registro esté especificado como un controlador de registro disponible con la variable deECS_AVAILABLE_LOGGING_DRIVERS
entorno cuando se inicie el agente ECS contenedor de Amazon. Para obtener más información, consulte Especificaciones de AMI de recursos de computación y Tutorial: crear una AMI de recursos de computación. - Recursos insuficientes
-
Si sus definiciones de trabajo especifican más recursos CPU o recursos de memoria de los que pueden asignar sus recursos informáticos, sus trabajos nunca se colocan. Por ejemplo, supongamos que su trabajo especifica 4 GiB de memoria y que sus recursos de computación tienen menos de los disponibles. Entonces, se da el caso de que el trabajo no se puede asignar a esos recursos de computación. En ese caso, debe reducir la memoria especificada en la definición del trabajo o añadir más recursos de computación en su entorno. Parte de la memoria está reservada para el agente ECS contenedor de Amazon y otros procesos críticos del sistema. Para obtener más información, consulte Administración de la memoria de recurso de computación.
- No hay acceso a Internet para los recursos de computación
Los recursos informáticos necesitan acceso para comunicarse con el punto final del ECS servicio de Amazon. Esto puede hacerse a través de un VPC punto final de interfaz o a través de los recursos de cómputo de que tienen direcciones IP públicas.
Para obtener más información sobre los VPC puntos de enlace de la interfaz, consulte Amazon ECS Interface VPC Endpoints (AWS PrivateLink) en la Guía para desarrolladores de Amazon Elastic Container Service.
Si no tiene configurado un VPC punto final de interfaz y los recursos informáticos de sus no tienen direcciones IP públicas, deberán utilizar la traducción de direcciones de red (NAT) para proporcionar este acceso. Para obtener más información, consulta NATlas pasarelas en la Guía del VPC usuario de Amazon . Para obtener más información, consulte Tutorial: crear un registro de seguimiento.
- Se alcanzó el límite de EC2 instancias de Amazon
-
La cantidad de EC2 instancias de Amazon en las que puede lanzar tu cuenta Región de AWS viene determinada por tu cuota de EC2 instancias. Algunos tipos de instancias también tienen una per-instance-type cuota. Para obtener más información sobre la cuota de EC2 instancias de Amazon de tu cuenta, incluida la forma de solicitar un aumento del límite, consulta Amazon EC2 Service Limits en la Guía del EC2 usuario de Amazon.
- El agente de ECS contenedores de Amazon no está instalado
-
El agente ECS contenedor de Amazon debe estar instalado en Amazon Machine Image (AMI) para poder AWS Batch ejecutar los trabajos. El agente de ECS contenedores de Amazon se instala de forma predeterminada en Amazon ECS OptimizedAMIs. Para obtener más información sobre el agente de ECS contenedores de Amazon, consulte el agente de ECScontenedores de Amazon en la Guía para desarrolladores de Amazon Elastic Container Service.
Para obtener más información, consulte ¿Por qué mi AWS Batch trabajo está RUNNABLE
estancado?