As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Como configurar o ajuste de escala automático do trabalhador do Amazon MWAA
O mecanismo de ajuste de escala automático aumenta automaticamente o número de trabalhadores do Apache Airflow em resposta às tarefas em execução e enfileiradas no ambiente de Workflows gerenciados pela Amazon para Apache Airflow e descarta trabalhadores extras quando não há mais tarefas na fila ou em execução. Este tópico descreve como você pode configurar o auto scaling especificando o número máximo de trabalhadores do Apache Airflow que são executados em seu ambiente usando o console Amazon MWAA.
nota
O Amazon MWAA usa métricas do Apache Airflow para determinar quando operadores adicionais do Executor Celerymax-workers
. À medida que os trabalhadores adicionais concluem o trabalho e a workload diminui, o Amazon MWAA os remove, reduzindo assim a escala para o valor definido por min-workers
.
Se os trabalhadores realizarem novas tarefas durante a redução da escala, o Amazon MWAA manterá o recurso do Fargate e não removerá o trabalhador. Para obter mais informações, consulte How Amazon MWAA auto scaling works.
Seções
Como funciona o ajuste de escala de trabalhadores
O Amazon MWAA usa métricas RunningTasks
e QueuedTasks
, em que (tarefas em execução + tarefas em fila) / (tarefas por operador) = (operadores necessários). Se o número necessário de operadores for maior que o número atual, o Amazon MWAA adicionará contêineres de operadores Fargate a esse valor, até o valor máximo especificado em max-workers
.
À medida que a workload diminui e a soma de RunningTasks
e QueuedTasks
da métrica é reduzida, o Amazon MWAA solicita ao Fargate reduzir a escala verticalmente dos trabalhadores do ambiente. Todos os trabalhadores que ainda estão concluindo o trabalho permanecem protegidos durante a redução da escala até concluírem o trabalho. Dependendo da workload, as tarefas podem ficar na fila enquanto os trabalhadores reduzem a escala.
Como usar o console do Amazon SNS
É possível escolher o número máximo de operadores que podem ser executados em seu ambiente simultaneamente no console do Amazon MWAA. Por padrão, é possível especificar um valor máximo de até 25.
Para configurar o número de operadores
-
Abra a página Environments
(Ambientes) no console do Amazon MWAA. -
Escolha um ambiente.
-
Selecione Editar.
-
Escolha Próximo.
-
No painel Classe de ambiente, insira um valor em Contagem máxima de operadores.
-
Escolha Salvar.
nota
Poderá levar alguns minutos para que as alterações sejam aplicadas no seu ambiente.
Exemplo de caso de uso de alto desempenho
A seção a seguir descreve os tipos de configurações que é possível usar para permitir alto desempenho e paralelismo em um ambiente.
Apache Airflow on-premises
Normalmente, em uma plataforma on-premises do Apache Airflow, você definiria as configurações de paralelismo, ajuste de escala automático e simultaneidade de tarefas no arquivo airflow.cfg
:
-
core.parallelism
: o número máximo de instâncias de tarefas que podem ser executadas simultaneamente por agendador. -
core.dag_concurrency
— A concorrência máxima para DAGs (não trabalhadores). -
celery.worker_autoscale
: o número máximo e mínimo de tarefas que podem ser executadas simultaneamente em qualquer operador.
Por exemplo, se core.parallelism
estivesse definido como 100
e core.dag_concurrency
estivesse definido como7
, você ainda só seria capaz de executar um total de 14
tarefas simultaneamente se tivesse 2 DAGs. Dado isso, cada DAG está configurado para executar somente sete tarefas simultaneamente (em core.dag_concurrency
), mesmo que o paralelismo geral esteja definido para 100
(em core.parallelism
).
Um ambiente Amazon MWAA.
Em um ambiente do Amazon MWAA, é possível definir essas configurações diretamente no console do Amazon MWAA usando Como usar opções de configuração do Apache Airflow no Amazon MWAA, Como configurar a classe de ambiente do Amazon MWAA e o mecanismo de ajuste de escala automático de Contagem máxima de trabalhadores. Embora core.dag_concurrency
não esteja disponível na lista suspensa como uma opção de configuração do Apache Airflow no console do Amazon MWAA, é possível adicioná-la como uma opção de configuração personalizada do Apache Airflow.
Digamos que, ao criar seu ambiente, você tenha escolhido as seguintes configurações:
-
A classe de ambiente mw1.small, que controla o número máximo de tarefas simultâneas que cada operador pode executar por padrão e a vCPU dos contêineres.
-
A configuração padrão de
10
operadores na Contagem máxima de operadores. -
Uma opção de configuração do Apache Airflow para
celery.worker_autoscale
de5,5
tarefas por operador.
Isso significa que é possível executar 50 tarefas simultâneas em seu ambiente. Todas as tarefas além de 50 serão colocadas na fila e aguardarão a conclusão das tarefas em execução.
Execute mais tarefas simultâneas. É possível modificar seu ambiente para executar mais tarefas simultaneamente usando as seguintes configurações:
-
Aumente o número máximo de tarefas simultâneas que cada operador pode executar por padrão e a vCPU dos contêineres escolhendo a classe de ambiente
mw1.medium
(10 tarefas simultâneas por padrão). -
Acrescente
celery.worker_autoscale
como opção de configuração do Apache Airflow. -
Aumente a contagem máxima de operadores. Neste exemplo, aumentar o número máximo de operadores de
10
para20
dobraria o número de tarefas simultâneas que o ambiente pode executar.
Especifique o mínimo de operadores. Você também pode especificar o número mínimo e máximo de Apache Airflow Workers que são executados em seu ambiente usando o AWS Command Line Interface ()AWS CLI. Por exemplo:
aws mwaa update-environment --max-workers 10 --min-workers 10 --name
YOUR_ENVIRONMENT_NAME
Para saber mais, consulte o comando update-environment em AWS CLI.
Tarefas de solução de problemas bloqueadas no estado de execução
Em casos raros, o Apache Airflow pode achar que ainda há tarefas em execução. Para resolver esse problema, você precisa limpar a tarefa perdida na sua IU do Apache Airflow. Para obter mais informações, consulte o tópico sobre solução de problemas Solução de problemas para Amazon Managed Workflows para Apache Airflow.
Próximas etapas
-
Saiba mais sobre as melhores práticas que recomendamos para ajustar o desempenho do seu ambiente em Ajuste de desempenho para o Apache Airflow no Amazon MWAA.