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.
Configuración del escalado automático de Amazon MWAA Worker
El mecanismo de escalado automático aumenta automáticamente la cantidad de trabajadores de Apache Airflow en respuesta a las tareas en ejecución o en cola en su entorno de Amazon Managed Workflows for Apache Airflow y elimina a los trabajadores adicionales cuando no hay más tareas en cola o en ejecución. En esta página, se describe cómo configurar el escalado automático especificando el número máximo de trabajadores de Apache Airflow que se ejecutan en su entorno mediante la consola Amazon MWAA.
nota
Amazon MWAA utiliza las métricas de Apache Airflow para determinar cuándo se necesitan más procesos de trabajo de Celery Executormax-workers
según sea necesario. A medida que los trabajadores adicionales completan el trabajo y la carga de trabajo disminuye, Amazon MWAA los elimina y, por lo tanto, vuelve al valor establecido por. min-workers
Si los trabajadores eligen nuevas tareas mientras reducen su escala, Amazon MWAA se queda con el recurso de Fargate y no elimina al trabajador. Para obtener más información, consulta Cómo funciona el escalado automático de Amazon MWAA.
Secciones
Cómo funciona el escalado de trabajadores
Amazon MWAA utiliza métricas de RunningTasks
y QueuedTasks
, donde (tareas en ejecución + tareas en cola)/(tareas por proceso de trabajo) = (procesos necesarios). Si el número de procesos requerido es superior al número actual de procesos de trabajo, Amazon MWAA añadirá los contenedores de procesos de trabajo de Fargate a ese valor, hasta alcanzar el valor máximo especificado por max-workers
.
A medida que la carga de trabajo disminuye RunningTasks
y la suma QueuedTasks
métrica se reduce, Amazon MWAA solicita a Fargate que reduzca el número de trabajadores para proteger el medio ambiente. Los trabajadores que aún terminen de trabajar permanecerán protegidos durante la reducción de plantilla hasta que terminen su trabajo. Según la carga de trabajo, es posible que las tareas queden en cola mientras los trabajadores reducen su plantilla.
Uso de la consola de Amazon MWAA
Puede elegir el número máximo de procesos de trabajo que se pueden ejecutar en su entorno simultáneamente en la consola de Amazon MWAA. Por defecto, puede especificar un valor máximo de hasta 25.
Pasos para configurar el número de procesos de trabajo
-
Abra la página Entornos
en la consola de Amazon MWAA. -
Seleccione un entorno.
-
Elija Editar.
-
Elija Siguiente.
-
Introduzca un valor en Recuento máximo de procesos de trabajo en el panel de clases de entorno.
-
Seleccione Guardar.
nota
Este proceso puede tardar unos minutos hasta que los cambios se apliquen en el entorno.
Ejemplo de caso de uso de alto rendimiento
La sección siguiente describe el tipo de configuraciones que puede usar para habilitar el alto rendimiento y el paralelismo en un entorno.
Apache Airflow en las instalaciones
Por lo general, en una plataforma Apache Airflow local, configuraría los ajustes de paralelismo de tareas, escalado automático y simultaneidad en su archivo: airflow.cfg
-
core.parallelism
: el número máximo de instancias de tareas que el programador puede ejecutar simultáneamente. -
core.dag_concurrency
: la simultaneidad máxima de los DAG (no de los procesos de trabajo). -
celery.worker_autoscale
: el número máximo y mínimo de tareas que se puede ejecutar simultáneamente en cualquier proceso de trabajo.
Por ejemplo, si core.parallelism
estuviera configurado en 100
y core.dag_concurrency
estuviera configurado en 7
, con 2 DAG solo podría ejecutar un total de 14
tareas simultáneamente. Por ejemplo, cada DAG está configurado para ejecutar solo 7 tareas simultáneamente (en core.dag_concurrency
), aunque el paralelismo general esté configurado en 100
(en core.parallelism
).
En un entorno de Amazon MWAA
En un entorno de Amazon MWAA, puede configurar estos ajustes directamente en la consola de Amazon MWAA mediante Uso de las opciones de configuración de Apache Airflow en Amazon MWAAConfiguración de la clase de entorno Amazon MWAA, y el mecanismo de escalado automático del número máximo de trabajadores. Si bien no core.dag_concurrency
está disponible en la lista desplegable como opción de configuración de Apache Airflow en la consola de Amazon MWAA, puede añadirla como una opción de configuración personalizada de Apache Airflow.
Supongamos que, cuando creó su entorno, eligió los ajustes siguientes:
-
La clase de entorno mw1.small, que controla el número máximo de tareas simultáneas que cada proceso de trabajo puede ejecutar por defecto y la vCPU de los contenedores.
-
La configuración predeterminada de
10
procesos de trabajo en el Número máximo de procesos de trabajo. -
Una opción de configuración de Apache Airflow para
celery.worker_autoscale
de5,5
tareas por proceso de trabajo.
Esto significa que puede ejecutar 50 tareas simultáneas en su entorno. Las tareas superiores a 50 se pondrán en cola y esperarán a que se completen las tareas en ejecución.
Ejecución de más tareas simultáneas. Puede modificar su entorno para ejecutar más tareas simultáneamente mediante las siguientes configuraciones:
-
Aumente el número máximo de tareas simultáneas que cada proceso de trabajo puede ejecutar por defecto y la vCPU de los contenedores eligiendo la clase de entorno
mw1.medium
(10 tareas simultáneas de forma predeterminada). -
Añádala
celery.worker_autoscale
como un opción de configuración de Apache Airflow. -
Aumente el número máximo de procesos de trabajo. En este ejemplo, aumentar el número máximo procesos de trabajo de
10
a20
duplicaría el número de tareas que el entorno puede ejecutar simultáneamente.
Especifique el número mínimo de procesos de trabajo. También puede especificar el número mínimo y máximo de Apache Airflow Workers que se ejecutan en su entorno mediante el (). AWS Command Line Interface AWS CLI Por ejemplo:
aws mwaa update-environment --max-workers 10 --min-workers 10 --name
YOUR_ENVIRONMENT_NAME
Para más información, consulte el comando update-environment en la AWS CLI.
Solución de problemas de tareas bloqueadas en estado de ejecución
En raras ocasiones, Apache Airflow puede pensar que hay tareas aún en ejecución. Para resolver este problema, debe borrar la tarea pendiente en la interfaz de usuario de Apache Airflow. Para información, consulte el tema sobre solución de problemas Veo que mis tareas están bloqueadas o no se están completando..
Siguientes pasos
-
Obtenga más información sobre las mejores prácticas que recomendamos para ajustar el rendimiento de su entorno Ajuste del desempeño de Apache Airflow en Amazon MWAA.