Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Cette page décrit les données stockées par Cloud Composer pour votre environnement dans Cloud Storage.
Lorsque vous créez un environnement, Cloud Composer crée un bucket Cloud Storage et l'associe à votre environnement. Le nom du bucket est basé sur la région, le nom et un ID aléatoire de l'environnement, par exemple us-central1-b1-6efabcde-bucket
.
Cloud Composer synchronise des dossiers spécifiques du bucket de votre environnement avec les composants Airflow qui s'exécutent dans votre environnement. Par exemple, lorsque vous mettez à jour un fichier avec le code de votre DAG Airflow dans le bucket de l'environnement, les composants Airflow reçoivent également la version mise à jour. Cloud Composer utilise Cloud Storage FUSE pour la synchronisation.
Dossiers dans le bucket Cloud Storage
Dossier | Chemin d'accès au stockage | Répertoire mappé | Description |
---|---|---|---|
DAG | gs://bucket-name/dags |
/home/airflow/gcs/dags |
Stocke les DAG pour votre environnement. |
Plug-ins | gs://bucket-name/plugins |
/home/airflow/gcs/plugins |
Stocke vos plug-ins personnalisés, tels que des opérateurs Airflow, des hooks, des capteurs ou des interfaces en interne et personnalisés. |
Données | gs://bucket-name/data |
/home/airflow/gcs/data |
Stocke les données créées et utilisées par les tâches. |
Journaux | gs://bucket-name/logs |
/home/airflow/gcs/logs |
Stocke les journaux Airflow pour les tâches. Les journaux sont également disponibles dans l'interface Web Airflow et dans l'onglet Journaux de la console Google Cloud. |
Cloud Composer synchronise les dossiers dags/
et plugins/
de manière unidirectionnelle. La synchronisation unidirectionnelle signifie que les modifications locales
les dossiers d'un composant Airflow sont écrasés. Les dossiers data/
et logs/
se synchronisent de manière bidirectionnelle.
La synchronisation des données est cohérente à terme. Pour envoyer des messages d'un opérateur à un autre, utilisez XComs.
Remarques relatives à la capacité
Les données des dossiers dags/
, plugins/
et data/
sont synchronisées avec le ou les planificateurs et les nœuds de calcul Airflow.
Dans Airflow 2, le contenu du dossier plugins/
est également synchronisé avec le serveur Web Airflow. Dans Airflow 1, les dossiers de contenu dags/
et plugins/
n'est synchronisé avec le serveur Web Airflow que si la sérialisation des DAG est désactivée.
Sinon, la synchronisation n'est pas effectuée.
Plus vous mettez de données dans ces dossiers, plus l'espace est occupé dans le stockage local des composants Airflow. Enregistrer trop de données dans
dags/
et plugins/
peuvent perturber vos opérations et entraîner des problèmes tels que:
Un nœud de calcul ou un planificateur manque d'espace de stockage local et est supprimé en raison d'un espace insuffisant sur le disque local du composant.
Synchronisation des fichiers des dossiers
dags/
etplugins/
avec les nœuds de calcul et les planificateurs prend beaucoup de temps.Synchronisation des fichiers des dossiers
dags/
etplugins/
avec les nœuds de calcul et les planificateurs devient impossible. Par exemple, vous stockez un fichier de 2 Go dans le dossierdags/
, mais le disque local d'un nœud de calcul Airflow ne peut accueillir que 1 Go. Pendant la synchronisation, le nœud de calcul manque d'espace le stockage et la synchronisation ne peuvent pas aboutir.
Dossiers de DAG et de plug-ins
Pour éviter les échecs d'exécution des DAG, stockez vos DAG, plug-ins et modules Python dans le fichier
Dossiers dags/
ou plugins/
, même si vos modules Python ne contiennent pas de DAG
ou plug-ins.
Par exemple, vous utilisez un DataFlowPythonOperator
qui fait référence à un py_file
.
pipeline Dataflow. Ce py_file
ne contient pas de DAG ni de plug-ins, mais vous devez tout de même le stocker dans le dossier dags/
ou plugins/
.
Dossier de données
Dans certains cas, certains fichiers du dossier data/
sont
avec un composant Airflow spécifique. Par exemple, lorsque
Cloud Composer tente de lire un fichier donné pour la première fois au cours de cette période:
Analyse du DAG : lorsqu'un fichier est lu pour la première fois lors de l'analyse du DAG, Cloud Composer le synchronise avec le planificateur qui analyse le DAG.
Exécution du DAG: lorsqu'un fichier est lu pour la première fois pendant l'exécution du DAG, Cloud Composer le synchronise avec le nœud de calcul qui exécute l'exécution.
L'espace de stockage local des composants Airflow est limité. Pensez donc à supprimer des fichiers téléchargés pour libérer de l'espace disque dans vos composants. Notez que l'utilisation de l'espace de stockage local peut également augmenter temporairement si des tâches simultanées téléchargent le même fichier sur un seul nœud de calcul Airflow.
Dossier des journaux
Le dossier logs/
est synchronisé à partir des nœuds de calcul Airflow avec le dossier
à l'aide de l'API Cloud Storage.
Le quota de l'API Cloud Storage est calculé en fonction de la quantité de données déplacées. le nombre de tâches Airflow exécutées par votre système peut augmenter votre utilisation de l'API Cloud Storage: plus vous exécutez de tâches, plus votre journal .
Synchronisation avec le serveur Web
Airflow 2 utilise la sérialisation des DAG prête à l'emploi. Dossier plugins/
est automatiquement synchronisé avec le serveur Web afin que les plug-ins puissent être chargés
Interface utilisateur d'Airflow Vous ne pouvez pas désactiver la sérialisation des DAG dans Airflow 2.
Dans Airflow 1, la sérialisation des DAG est prise en charge et activée par défaut dans Cloud Composer.
- Lorsque la sérialisation des DAG est activée, les fichiers des dossiers
dags/
etplugins/
ne sont pas synchronisés avec le serveur Web. - Lorsque la sérialisation des DAG est désactivée, les fichiers de
dags/
etplugins/
sont synchronisés avec le serveur Web.