2017-07-11 2 views
0

Essayer de séparer les processus Airflow sur 2 serveurs. Le serveur A, qui a déjà fonctionné en mode autonome avec tout ce qu'il contient, a les DAG et je voudrais le définir en tant que travailleur dans la nouvelle configuration avec un serveur supplémentaire.Comment configurer un flux d'air de 2 serveurs?

Le serveur B est le nouveau serveur qui hébergerait la base de métadonnées sur MySQL. Puis-je avoir le serveur A exécuter LocalExecutor, ou devrais-je utiliser CeleryExecutor? Est-ce que airflow scheduler doit s'exécuter sur le serveur qui possède les DAG? Ou doit-il fonctionner sur tous les serveurs d'un cluster? Confondre quant aux dépendances entre les processus

Répondre

0

Tous les processus de flux d'air doivent avoir le même contenu dans leur dossier airflow_home. Cela inclut la configuration et les drapeaux. Si vous voulez seulement que le serveur B exécute votre base de données MySQL, vous n'avez pas à vous soucier des spécificités du flux d'air. Installez simplement la base de données sur le serveur B et modifiez le paramètre sql_alchemy_conn de votre flux d'airflow.cfg pour qu'il pointe vers votre base de données sur le serveur B et exécutez airflow initdb depuis le serveur A.

Si vous souhaitez également exécuter des processus de flux d'air sur le serveur B, vous devez se pencher sur la mise à l'échelle en utilisant le CeleryExecutor.