Managed Airflow (terza generazione) | Managed Airflow (seconda generazione) | Managed Airflow (prima generazione legacy)
Questa pagina spiega come trasferire DAG, dati e configurazione dall'ambiente Airflow gestito (seconda generazione) esistente ad Airflow gestito (terza generazione).
Altre guide alla migrazione
| Da | A | Metodo | Guida |
|---|---|---|---|
| Airflow gestito (terza generazione), Airflow 2 | Airflow gestito (terza generazione), Airflow 3 | Trasferimento manuale affiancato | Guida alla migrazione manuale |
| Managed Airflow (seconda generazione) | Managed Airflow (terza generazione) | Trasferimento affiancato tramite lo script di migrazione | Guida alla migrazione tramite script |
| Managed Airflow (seconda generazione) | Managed Airflow (terza generazione) | Trasferimento affiancato tramite snapshot | Questa guida |
| Managed Airflow (legacy di prima generazione), Airflow 2 | Managed Airflow (terza generazione) | Trasferimento affiancato tramite snapshot | Guida alla migrazione tramite snapshot |
| Managed Airflow (legacy di prima generazione), Airflow 2 | Managed Airflow (seconda generazione) | Trasferimento affiancato tramite snapshot | Guida alla migrazione tramite snapshot |
| Managed Airflow (legacy di prima generazione), Airflow 2 | Managed Airflow (seconda generazione) | Trasferimento manuale affiancato | Guida alla migrazione manuale |
| Managed Airflow (legacy di prima generazione), Airflow 1 | Airflow gestito (seconda generazione), Airflow 2 | Trasferimento affiancato tramite snapshot | Guida alla migrazione tramite snapshot |
| Managed Airflow (legacy di prima generazione), Airflow 1 | Airflow gestito (seconda generazione), Airflow 2 | Trasferimento manuale affiancato | Guida alla migrazione manuale |
| Managed Airflow (legacy di prima generazione), Airflow 1 | Managed Airflow (legacy di prima generazione), Airflow 2 | Trasferimento manuale affiancato | Guida alla migrazione manuale |
Prima di iniziare
Questa guida alla migrazione utilizza gli snapshot. Gli snapshot sono supportati in Managed Airflow (seconda generazione) versione 2.0.9 e successive.
Managed Airflow supporta la migrazione affiancata da Managed Airflow (seconda generazione) a Managed Airflow (terza generazione). Non è possibile eseguire l'upgrade in-place da Managed Airflow (seconda generazione) a Managed Airflow (terza generazione).
Consulta l' elenco delle differenze tra Managed Airflow (seconda generazione) e Managed Airflow (terza generazione). Assicurati che il tuo ambiente non utilizzi funzionalità non ancora disponibili in Managed Airflow (terza generazione).
La dimensione massima del database Airflow che supporta gli snapshot è di 20 GB. Se il database del tuo ambiente occupa più di 20 GB, riduci le dimensioni del database Airflow.
Per creare snapshot, il numero totale di oggetti nelle cartelle
/dags,/pluginse/datanel bucket dell'ambiente deve essere inferiore a 100.000.Se utilizzi il meccanismo XCom per trasferire i file, assicurati di utilizzarlo in base alle linee guida di Airflow. Il trasferimento di file di grandi dimensioni o di un numero elevato di file tramite XCom influisce sulle prestazioni del database Airflow e può causare errori durante il caricamento degli snapshot o l'upgrade dell'ambiente. Valuta la possibilità di utilizzare alternative come Cloud Storage per trasferire grandi volumi di dati.
Assicurati che i DAG siano compatibili con Managed Airflow (terza generazione)
Assicurati che i DAG siano compatibili con Managed Airflow (terza generazione) seguendo questi suggerimenti:
L'elenco dei pacchetti nell'ambiente Airflow gestito (terza generazione) può essere diverso da quello dell'ambiente Airflow gestito (seconda generazione). Ciò potrebbe influire sulla compatibilità dei DAG con Managed Airflow (terza generazione).
Airflow gestito carica gli override della configurazione, le variabili di ambiente e i pacchetti PyPI dallo snapshot dell'ambiente Airflow gestito (seconda generazione) ad Airflow gestito (terza generazione) senza modificarli o regolarli per la compatibilità. Per risolvere i conflitti tra questi parametri di configurazione, puoi saltare il caricamento dei pacchetti PyPI personalizzati, delle variabili di ambiente e degli override della configurazione di Airflow quando carichi lo snapshot.
In Managed Airflow (terza generazione), il cluster dell'ambiente si trova nel progetto tenant. Assicurati che i DAG siano compatibili con questa modifica. In particolare,
KubernetesPodOperatori workload ora vengono scalati indipendentemente da l'ambiente e non è possibile utilizzare le configurazioni di affinità dei pod.
Metti in pausa i DAG nell'ambiente Airflow gestito (seconda generazione)
Per evitare l'esecuzione di DAG duplicati, metti in pausa tutti i DAG nell'ambiente Airflow gestito (seconda generazione) prima di salvare lo snapshot. Salta il DAG di monitoraggio della liveness (airflow_monitoring), che viene utilizzato a scopo di monitoraggio e non è incluso negli snapshot dell'ambiente.
Puoi utilizzare una delle seguenti opzioni per mettere in pausa i DAG:
Metti in pausa i DAG uno alla volta nella Google Cloud console:
Nella Google Cloud console, vai alla pagina Ambienti.
Seleziona un ambiente per visualizzarne i dettagli.
Nella pagina Dettagli ambiente, vai alla scheda DAG.
Fai clic sul nome di un DAG.
Nella pagina Dettagli DAG, fai clic su Metti in pausa DAG.
In nell'interfaccia web di Airflow, vai a DAG e metti in pausa manualmente tutti i DAG.
Utilizza lo script composer_dags per mettere in pausa tutti i DAG:
python3 composer_dags.py --environment COMPOSER_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation pauseSostituisci:
COMPOSER_2_ENVcon il nome dell'ambiente Airflow gestito (seconda generazione).PROJECT_IDcon l'ID progetto.COMPOSER_2_LOCATIONcon la regione in cui si trova l'ambiente.
Salva uno snapshot dell'ambiente Airflow gestito (seconda generazione)
Console
Crea uno snapshot dell'ambiente:
Nella Google Cloud console, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente Airflow gestito (seconda generazione). Si apre la pagina Dettagli ambiente.
Fai clic su Crea snapshot.
Nella finestra di dialogo Crea snapshot, fai clic su Invia. In questa guida, salvi lo snapshot nel bucket dell'ambiente Airflow gestito (seconda generazione), ma puoi selezionare una località diversa, se vuoi. Se specifichi una località personalizzata, i service account di entrambi gli ambienti devono disporre delle autorizzazioni di lettura e scrittura per la località specificata.
Attendi che Managed Airflow crei lo snapshot.
Una volta creato lo snapshot, il messaggio visualizzato restituisce la località dello snapshot. Salva queste informazioni per utilizzarle in un secondo momento quando carichi questo snapshot nell'ambiente Airflow gestito (terza generazione).
Ad esempio, la località dello snapshot potrebbe essere simile a:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.
gcloud
Crea uno snapshot dell'ambiente Airflow gestito (seconda generazione):
gcloud composer environments snapshots save \ COMPOSER_2_ENV \ --location COMPOSER_2_LOCATIONSostituisci:
COMPOSER_2_ENVcon il nome dell'ambiente Airflow gestito (seconda generazione).COMPOSER_2_LOCATIONcon la regione in cui si trova l'ambiente Airflow gestito (seconda generazione).(facoltativo) Puoi utilizzare l'argomento
--snapshot-locationper specificare una località personalizzata in cui deve essere archiviato lo snapshot dell'ambiente.In questa guida, salvi lo snapshot nel bucket dell'ambiente Airflow gestito (seconda generazione), ma puoi selezionare una località diversa, se vuoi. Se specifichi una località personalizzata, i service account di entrambi gli ambienti devono disporre delle autorizzazioni di lettura e scrittura per la località specificata.
Una volta creato lo snapshot, il messaggio visualizzato restituisce la località dello snapshot. Salva queste informazioni per utilizzarle in un secondo momento quando carichi questo snapshot nell'ambiente Airflow gestito (terza generazione).
Ad esempio, la località dello snapshot potrebbe essere simile a:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.
Crea un ambiente Airflow gestito (terza generazione)
Crea un ambiente Airflow gestito (terza generazione) utilizzando le seguenti linee guida:
Puoi iniziare con la stessa configurazione dei limiti delle risorse dell'ambiente Airflow gestito (seconda generazione) e in un secondo momento scalare e ottimizzare ulteriormente la configurazione.
Negli ambienti Managed Airflow (terza generazione), il processore DAG di Airflow viene eseguito come componente dell'ambiente separato. Poiché il processore DAG scarica l'analisi dei DAG dallo scheduler, potresti voler ridistribuire le risorse precedentemente allocate agli scheduler Airflow. Puoi farlo in un secondo momento dopo la migrazione a Managed Airflow (terza generazione) e monitorare le prestazioni dello scheduler e del processore DAG.
Managed Airflow (terza generazione) offre una configurazione di rete più snella e semplificata rispetto a Managed Airflow (seconda generazione). È possibile passare dalla configurazione di rete IP pubblico a quella IP privato e collegare e scollegare le reti VPC. Non è necessario specificare intervalli IP . Assicurati che la configurazione di rete dell'ambiente Airflow gestito (terza generazione) corrisponda alla configurazione di Airflow gestito (seconda generazione) corrispondente.
Non è necessario specificare gli override della configurazione e le variabili di ambiente perché li sostituirai in un secondo momento quando carichi lo snapshot dell'ambiente Airflow gestito (seconda generazione).
Carica lo snapshot nell'ambiente Airflow gestito (terza generazione)
Console
Per caricare lo snapshot nell'ambiente Airflow gestito (terza generazione):
Nella Google Cloud console, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente Airflow gestito (terza generazione). Si apre la pagina Dettagli ambiente.
Fai clic su Carica snapshot.
Nella finestra di dialogo Carica snapshot, fai clic su Sfoglia.
Seleziona la cartella contenente lo snapshot.
Se utilizzi la località predefinita per questa guida, questa cartella si trova nel bucket dell'ambiente Airflow gestito (seconda generazione) nella cartella
/snapshotse il suo nome è il timestamp dell'operazione di salvataggio dello snapshot. La stessa località è stata visualizzata nel messaggio relativo alla creazione dello snapshot.Ad esempio:
us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.Fai clic su Carica e attendi che Managed Airflow carichi lo snapshot.
gcloud
Carica lo snapshot dell'ambiente Airflow gestito (seconda generazione) nell'ambiente Airflow gestito (terza generazione):
gcloud composer environments snapshots load \
COMPOSER_3_ENV \
--location COMPOSER_3_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Sostituisci:
COMPOSER_3_ENVcon il nome dell'ambiente Airflow gestito (terza generazione).COMPOSER_3_LOCATIONcon la regione in cui si trova l'ambiente Airflow gestito (terza generazione).SNAPSHOT_PATHcon l'URI del bucket dell'ambiente Airflow gestito (seconda generazione), seguito dal percorso dello snapshot. La stessa località è stata visualizzata nel messaggio relativo alla creazione dello snapshot. Ad esempio:gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12.
Riattiva i DAG nell'ambiente Airflow gestito (terza generazione)
Puoi utilizzare una delle seguenti opzioni:
Riattiva i DAG uno alla volta nella Google Cloud console:
Nella Google Cloud console, vai alla pagina Ambienti.
Seleziona un ambiente per visualizzarne i dettagli.
Nella pagina Dettagli ambiente, vai alla scheda DAG.
Fai clic sul nome di un DAG.
Nella pagina Dettagli DAG, fai clic su Riattiva DAG.
Nell'interfaccia web di Airflow, vai a DAG e riattiva manualmente tutti i DAG uno alla volta.
Utilizza lo script composer_dags per riattivare tutti i DAG:
python3 composer_dags.py --environment COMPOSER_3_ENV \ --project PROJECT_ID \ --location COMPOSER_3_LOCATION \ --operation unpauseSostituisci:
COMPOSER_3_ENVcon il nome dell'ambiente Airflow gestito (terza generazione).PROJECT_IDcon l'ID progetto.COMPOSER_3_LOCATIONcon la regione in cui si trova l'ambiente.
Verifica la presenza di errori nei DAG
Nell'interfaccia web di Airflow, vai a DAG e verifica la presenza di errori di sintassi dei DAG segnalati.
Verifica che le esecuzioni di DAG siano pianificate all'ora corretta.
Attendi che le esecuzioni di DAG avvengano nell'ambiente Airflow gestito (terza generazione) e verifica se sono andate a buon fine. Se un'esecuzione di DAG è andata a buon fine, non riattivarla nell'ambiente Airflow gestito (seconda generazione). In caso contrario, nell'ambiente Airflow gestito (seconda generazione) si verifica un'esecuzione di DAG per la stessa data e ora.
Se l'esecuzione di un DAG specifico non va a buon fine, prova a risolvere il problema del DAG finché non viene eseguito correttamente in Managed Airflow (terza generazione).
Monitora l'ambiente Airflow gestito (terza generazione)
Dopo aver trasferito tutti i DAG e la configurazione all'ambiente Airflow gestito (terza generazione), monitoralo per verificare la presenza di potenziali problemi, esecuzioni di DAG non riuscite e l'integrità generale dell'ambiente.
Se l'ambiente Airflow gestito (terza generazione) viene eseguito senza problemi per un periodo di tempo sufficiente, valuta la possibilità di eliminare l'ambiente Airflow gestito (seconda generazione).