Configurazione della scalabilità automatica di Amazon MWAA Worker - Amazon Managed Workflows for Apache Airflow

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione della scalabilità automatica di Amazon MWAA Worker

Il meccanismo di scalabilità automatica aumenta automaticamente il numero di lavoratori Apache Airflow in risposta alle attività in esecuzione e in coda nel tuo ambiente Amazon Managed Workflows for Apache Airflow e elimina lavoratori aggiuntivi quando non ci sono più attività in coda o in esecuzione. Questo argomento descrive come configurare la scalabilità automatica specificando il numero massimo di worker Apache Airflow eseguiti nel tuo ambiente utilizzando la console Amazon. MWAA

Nota

Amazon MWAA utilizza i parametri di Apache Airflow per determinare quando sono necessari altri lavoratori Celery Executor e, se necessario, aumenta il numero di lavoratori Fargate fino al valore specificato da. max-workers Man mano che i lavoratori aggiuntivi completano il lavoro e il carico di lavoro diminuisce, Amazon li MWAA rimuove, tornando così al valore impostato da. min-workers

Se i lavoratori scelgono nuove attività durante il ridimensionamento, Amazon MWAA conserva la risorsa Fargate e non rimuove il lavoratore. Per ulteriori informazioni, consulta Come funziona Amazon MWAA auto scaling.

Come funziona la scalabilità dei lavoratori

Amazon MWAA utilizza parametri RunningTasks e QueuedTasks parametri, dove (attività in esecuzione + attività in coda)/(attività per lavoratore) = (lavoratori richiesti). Se il numero richiesto di lavoratori è superiore al numero attuale di lavoratori, Amazon MWAA aggiungerà i container per lavoratori Fargate a quel valore, fino al valore massimo specificato da. max-workers

Man mano che il carico di lavoro diminuisce RunningTasks e la somma dei QueuedTasks parametri e si riduce, Amazon richiede a MWAA Fargate di ridurre il numero di lavoratori per l'ambiente. Tutti i lavoratori che stanno ancora completando il lavoro rimangono protetti durante il downscaling fino al completamento del lavoro. A seconda del carico di lavoro, le attività possono essere messe in coda mentre i lavoratori effettuano la scalata.

Utilizzo della MWAA console Amazon

Puoi scegliere il numero massimo di lavoratori che possono essere eseguiti contemporaneamente nel tuo ambiente sulla MWAA console Amazon. Per impostazione predefinita, puoi specificare un valore massimo fino a 25.

Per configurare il numero di lavoratori
  1. Apri la pagina Ambienti sulla MWAA console Amazon.

  2. Scegli un ambiente.

  3. Scegli Modifica.

  4. Scegli Next (Successivo).

  5. Nel riquadro Classe Ambiente, inserisci un valore in Numero massimo di lavoratori.

  6. Seleziona Salva.

Nota

Possono essere necessari alcuni minuti prima che le modifiche abbiano effetto sull'ambiente.

Esempio di utilizzo ad alte prestazioni

La sezione seguente descrive il tipo di configurazioni che è possibile utilizzare per abilitare alte prestazioni e parallelismo in un ambiente.

Apache Airflow locale

In genere, in una piattaforma Apache Airflow on-premise, è necessario configurare il parallelismo delle attività, la scalabilità automatica e le impostazioni di concorrenza nel file: airflow.cfg

  • core.parallelism— Il numero massimo di istanze di attività che possono essere eseguite contemporaneamente per scheduler.

  • core.dag_concurrency— La concorrenza massima per DAGs (non i lavoratori).

  • celery.worker_autoscale— Il numero massimo e minimo di attività che possono essere eseguite contemporaneamente su qualsiasi lavoratore.

Ad esempio, se core.parallelism fosse impostato su 100 e core.dag_concurrency fosse impostato su7, saresti comunque in grado di eseguire un totale di 14 attività contemporaneamente solo se ne avessi 2. DAGs Tuttavia, ciascuna DAG è impostata per eseguire solo sette attività contemporaneamente (incore.dag_concurrency), anche se il parallelismo complessivo è impostato su (in). 100 core.parallelism

In un MWAA ambiente Amazon

In un MWAA ambiente Amazon, puoi configurare queste impostazioni direttamente sulla MWAA console Amazon utilizzando Utilizzo delle opzioni di configurazione di Apache Airflow su Amazon MWAAConfigurazione della classe di MWAA ambiente Amazon, e il meccanismo di scalabilità automatica Maximum worker count. Sebbene non core.dag_concurrency sia disponibile nell'elenco a discesa come opzione di configurazione Apache Airflow sulla MWAA console Amazon, puoi aggiungerla come opzione di configurazione Apache Airflow personalizzata.

Supponiamo che quando hai creato il tuo ambiente, hai scelto le seguenti impostazioni:

  1. La classe di ambiente mw1.small che controlla il numero massimo di attività simultanee che ogni lavoratore può eseguire per impostazione predefinita e la classe v CPU of container.

  2. L'impostazione predefinita di 10 Workers in Maximum worker count.

  3. Un'opzione di configurazione di Apache Airflow per celery.worker_autoscale più 5,5 attività per lavoratore.

Ciò significa che puoi eseguire 50 attività simultanee nel tuo ambiente. Tutte le attività oltre 50 verranno messe in coda e attenderanno il completamento delle attività in esecuzione.

Esegui più attività simultanee. È possibile modificare l'ambiente per eseguire più attività contemporaneamente utilizzando le seguenti configurazioni:

  1. Aumenta il numero massimo di attività simultanee che ogni lavoratore può eseguire per impostazione predefinita e il numero CPU di contenitori scegliendo la classe di ambiente mw1.medium (10 attività simultanee per impostazione predefinita).

  2. Aggiungi celery.worker_autoscale come opzione di configurazione Apache Airflow.

  3. Aumenta il numero massimo di lavoratori. In questo esempio, l'aumento del numero massimo di lavoratori da 10 a 20 raddoppierebbe il numero di attività simultanee che l'ambiente può eseguire.

Specificare il numero minimo di lavoratori. È inoltre possibile specificare il numero minimo e massimo di Apache Airflow Workers eseguiti nel proprio ambiente utilizzando AWS Command Line Interface ()AWS CLI. Per esempio:

aws mwaa update-environment --max-workers 10 --min-workers 10 --name YOUR_ENVIRONMENT_NAME

Per ulteriori informazioni, consultate il comando update-environment in. AWS CLI

Risoluzione dei problemi relativi alle attività bloccate nello stato di esecuzione

In rari casi, Apache Airflow potrebbe pensare che ci siano attività ancora in esecuzione. Per risolvere questo problema, è necessario cancellare l'attività bloccata nell'interfaccia utente di Apache Airflow. Per ulteriori informazioni, consulta l'argomento sulla risoluzione dei problemi. Risoluzione dei problemi di Amazon Managed Workflows per Apache Airflow

Fasi successive