Configurazione della scalabilità automatica dei lavoratori Amazon MWAA - 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 dei lavoratori Amazon MWAA

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. Questa pagina 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 MWAA li rimuove, tornando così al valore impostato da. min-workers

Se i lavoratori intraprendono nuove attività durante il downscaling, Amazon MWAA conserva la risorsa Fargate e non rimuove il lavoratore. Per ulteriori informazioni, consulta Come funziona la scalabilità automatica di Amazon MWAA.

Come funziona la scalabilità dei lavoratori

Usi RunningTasks e QueuedTasks parametri di Amazon MWAA, 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 e la somma dei QueuedTasks parametri RunningTasks e si riduce, Amazon MWAA richiede a 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 console Amazon MWAA

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

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

  2. Scegli un ambiente.

  3. Scegli Modifica.

  4. Seleziona Successivo.

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

  6. Selezionare 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 i DAG (non per 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, sarebbe comunque possibile eseguire un totale di 14 attività contemporaneamente solo se si disponesse di 2 DAG. Tuttavia, ogni DAG è impostato per eseguire solo sette attività contemporaneamente (incore.dag_concurrency), anche se il parallelismo complessivo è impostato su (in). 100 core.parallelism

In un ambiente Amazon MWAA

In un ambiente Amazon MWAA, puoi configurare queste impostazioni direttamente sulla console Amazon MWAA 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 console Amazon MWAA, 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 vCPU dei contenitori.

  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 la vCPU dei contenitori scegliendo mw1.medium la classe di ambiente (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. Vedo che le mie attività sono bloccate o non vengono completate

Fasi successive