escala com aipo¶
CeleryExecutor
é uma das formas de aumentar o número de trabalhadores. Para este trabalho, você precisa configurar uma infra-estrutura de aipo (RabbitMQ, Redis, …) e alterar o seu airflow.cfg
para apontar o parâmetro executor paraCeleryExecutor
e fornecer as configurações de aipo relacionadas.
para mais informações sobre a criação de um corretor de aipo, consulte a documentação sobre o tema.
Aqui estão alguns requisitos imperativos para os seus trabalhadores:
-
airflow
precisa ser instalado, e o CLI precisa estar no caminho -
o Fluxo de ar definições de configuração deve ser homogênea em todo o cluster
-
os Operadores que são executadas sobre o trabalhador precisa ter seus dependenciesmet em que contexto. Por exemplo, se você usar o
HiveOperator
,o ramo de CLI precisa ser instalado no caixa, ou se você usar oMySqlOperator
, a Python library precisa estar disponível noPYTHONPATH
de alguma forma -
O trabalhador precisa ter acesso ao seu
DAGS_FOLDER
, e você precisa tosynchronize os sistemas de ficheiros pelos seus próprios meios. Uma configuração comum seria postar a sua pasta DAGS_ num repositório Git e sincronizá-la através de máquinas usingChef, Puppet, Ansible, ou o que quer que você use para configurar as máquinas no seu ambiente. Se todas as caixas têm um ponto de montagem, tendo yourpipelines arquivos compartilhados não deve funcionar bem
Para começar um trabalho, você precisa configurar o Fluxo de ar e dar o pontapé inicial no workersubcommand
airflow worker
O trabalhador deve começar a pegar tarefas assim que eles demitido inits direção.
Note que você também pode executar “Flor De Aipo”, uma interface web construída em cima de aipo, para monitorar seus trabalhadores. Você pode usar o comando de atalho airflow flower
para iniciar um servidor Web Flower.
por favor, note que você deve ter a biblioteca python flower
já instalada no seu sistema. A forma recomendada é instalar o pacote de aipo airflow.
pip install 'apache-airflow'
Algumas ressalvas:
-
certifique-se de usar um banco de dados feito o resultado de back-end
-
certifique-se de definir um tempo de espera de visibilidade em que excede a ETA de sua maior tarefa em execução
-
Tarefas podem consumir recursos. Certifique-se de que o seu trabalho tem recursos suficientes para executar tarefas worker_concurrency
-
os nomes de Fila são limitados a 256 caracteres, mas cada um corretor de back-end pode ter suas próprias restrições