Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina descrive quali dati Cloud Composer archivia per il tuo ambiente in Cloud Storage.
Quando crei un ambiente, Cloud Composer crea
Cloud Storage e lo associa.
con il tuo ambiente. Il nome del bucket si basa sulla regione, sul nome e su un ID casuale dell'ambiente, ad esempio us-central1-b1-6efabcde-bucket
.
Cloud Composer sincronizza cartelle specifiche del bucket del tuo ambiente ai componenti Airflow in esecuzione nel tuo ambiente. Ad esempio, quando aggiorni un file con il codice del tuo DAG Airflow nel del bucket dell'ambiente, anche i componenti Airflow ricevono la versione aggiornata. Cloud Composer utilizza Cloud Storage FUSE per la sincronizzazione.
Cartelle nel bucket Cloud Storage
Cartella | Percorso di archiviazione | Directory mappata | Descrizione |
---|---|---|---|
DAG | gs://bucket-name/dags |
/home/airflow/gcs/dags |
Memorizza i DAG per il tuo ambiente. |
Plug-in | gs://bucket-name/plugins |
/home/airflow/gcs/plugins |
Memorizza i plug-in personalizzati, ad esempio operatori, hook, sensori o interfacce Airflow interni personalizzati. |
Dati | gs://bucket-name/data |
/home/airflow/gcs/data |
Memorizza i dati prodotti e utilizzati dalle attività. |
Log | gs://bucket-name/logs |
/home/airflow/gcs/logs |
Archivia i log di Airflow per le attività. I log sono disponibili anche nell'interfaccia web di Airflow e nella scheda Log della console Google Cloud. |
Cloud Composer sincronizza le cartelle dags/
e plugins/
in modo unidirezionale. La sincronizzazione unidirezionale
significa che le modifiche locali
le cartelle in un componente Airflow vengono sovrascritte. Le cartelle data/
e logs/
si sincronizzano in modo bidirezionale.
La sincronizzazione dei dati è coerente alla fine. Per inviare messaggi da un operatore all'altro, utilizza XComs.
Considerazioni sulla capacità
I dati delle cartelle dags/
, plugins/
e data/
sono sincronizzati con Airflow
scheduler e worker.
I contenuti della cartella plugins/
vengono sincronizzati con il server web Airflow.
Più dati vengono inseriti in queste cartelle, più spazio viene occupato
nello spazio di archiviazione locale dei componenti Airflow. Salvare troppi dati in dags/
e plugins/
può interrompere le tue operazioni e causare problemi come:
Un worker o uno scheduler esaurisce lo spazio di archiviazione locale e viene rimosso perché di spazio insufficiente sul disco locale del componente.
La sincronizzazione dei file dalle cartelle
dags/
eplugins/
ai worker e ai pianificatori richiede molto tempo.La sincronizzazione dei file dalle cartelle
dags/
eplugins/
ai worker e ai pianificatori diventa impossibile. Ad esempio, archivi un file da 2 GB neldags/
, ma il disco locale di un worker Airflow può solo per 1 GB. Durante la sincronizzazione, il worker esaurisce le risorse locali di archiviazione e sincronizzazione.
Cartelle DAG e plug-in
Per evitare errori di esecuzione dei DAG, archivia i DAG, i plug-in e i moduli Python nelle cartelle dags/
o plugins/
, anche se i moduli Python non contengono DAG o plug-in.
Ad esempio, utilizzi un DataFlowPythonOperator
che fa riferimento a una pipeline py_file
Dataflow. py_file
non contiene DAG o
ma devi comunque archiviarlo nella cartella dags/
o plugins/
.
Cartella dati
Esistono scenari in cui determinati file della cartella data/
vengono sincronizzati con un componente Airflow specifico. Ad esempio, quando Cloud Composer tenta di leggere un determinato file per la prima volta durante:
Analisi del DAG: quando un file viene letto per la prima volta durante l'analisi del DAG, Cloud Composer lo sincronizza con lo scheduler che analizza il DAG.
Esecuzione del DAG: quando un file viene letto per la prima volta durante l'esecuzione del DAG, Cloud Composer lo sincronizza con il worker che esegue l'esecuzione.
I componenti di Airflow hanno uno spazio di archiviazione locale limitato, quindi ti consigliamo di eliminare i file scaricati per liberare spazio su disco nei componenti. Nota che gli utenti l'utilizzo dello spazio di archiviazione può anche aumentare temporaneamente se ci sono attività simultanee che scaricare lo stesso file in un singolo worker Airflow.
Cartella dei log
La cartella logs/
è sincronizzata dai worker di Airflow all'ambiente
utilizzando l'API Cloud Storage.
La quota dell'API Cloud Storage viene calcolata in base alla quantità di dati spostati, pertanto il numero di attività Airflow eseguite dal sistema può aumentare l'utilizzo dell'API Cloud Storage: più attività esegui, più grandi saranno i file di log.
Sincronizzazione con il server web
La cartella plugins/
viene sincronizzata automaticamente con il server web in modo che i plug-in possano essere caricati dall'interfaccia utente di Airflow. In Cloud Composer 3, puoi
disattivare e attivare i plug-in dei server web su
richiesta, senza eliminare i file dal bucket dell'ambiente.