Cloud Composer 1 | Cloud Composer 2
Questa pagina spiega come trasferire i DAG, i dati e la configurazione dai tuoi ambienti Cloud Composer 1, Airflow 1 e Cloud Composer esistenti a Cloud Composer 2, Airflow 2.
Questa guida alla migrazione utilizza la funzionalità Snapshot.
Altre guide alla migrazione
Da | A | Metodo | Guida |
---|---|---|---|
Cloud Composer 1, Airflow 2 | Cloud Composer 2, Airflow 2 | Affiancato, tramite snapshot | Guida alla migrazione (snapshot) |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Affiancato, tramite snapshot | Questa guida (snapshot) |
Cloud Composer 1, Airflow 2 | Cloud Composer 2, Airflow 2 | Trasferimento manuale affiancato | Guida alla migrazione manuale |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Trasferimento manuale affiancato | Guida alla migrazione manuale |
Flusso d'aria 1 | Flusso d'aria 2 | Trasferimento manuale affiancato | Guida alla migrazione manuale |
Prima di iniziare
Gli snapshot sono supportati in Cloud Composer 2 versione 2.0.9 e successive. Cloud Composer 1 supporta il salvataggio degli snapshot di ambiente nella versione 1.18.5.
Cloud Composer supporta la migrazione affiancata da Cloud Composer 1 a Cloud Composer 2. Non è possibile eseguire l'upgrade da Cloud Composer 1 a Cloud Composer 2 in loco.
Consulta l'elenco delle differenze tra Cloud Composer 1 e Cloud Composer 2.
La dimensione massima del database Airflow che supporta gli snapshot è 20 GB. Se il database del tuo ambiente utilizza più di 20 GB, riduci le dimensioni del database Airflow.
Poiché Cloud Composer 2 utilizza Airflow 2, la migrazione include il trasferimento dei DAG e della configurazione dell'ambiente a Airflow 2. Consulta la guida alla migrazione da Airflow 1 a Airflow 2 per informazioni sulle modifiche che provocano un errore tra Airflow 1 e Airflow 2 in Cloud Composer.
In questa guida, combini la migrazione a Airflow 2 e la migrazione a Cloud Composer 2 in un'unica procedura di migrazione. In questo modo, non è necessario eseguire la migrazione a un ambiente Cloud Composer 1 con Airflow 2 prima di eseguire la migrazione a Cloud Composer 2.
Passaggio 1: esegui l'upgrade a Airflow 1.10.15
Se il tuo ambiente utilizza una versione di Airflow precedente alla 1.10.15, esegui l'upgrade dell'ambiente a una versione di Cloud Composer che utilizzi Airflow 1.10.15 e supporti gli snapshot.
Passaggio 2: controlla la compatibilità con Airflow 2
Per verificare la presenza di potenziali conflitti con Airflow 2, utilizza gli script di controllo dell'upgrade forniti da Airflow nell'ambiente Airflow 1.10.15 esistente.
gcloud
Esegui i controlli dell'upgrade tramite il comando
gcloud composer environments run
. Alcuni controlli degli upgrade pertinenti per Airflow 1.10.15 autonomo non sono pertinenti per Cloud Composer. Il seguente comando esclude questi controlli.gcloud composer environments run \ COMPOSER_1_ENV \ --location=COMPOSER_1_LOCATION \ upgrade_check \ -- --ignore VersionCheckRule --ignore LoggingConfigurationRule \ --ignore PodTemplateFileRule --ignore SendGridEmailerMovedRule
Sostituisci:
COMPOSER_1_ENV
con il nome del tuo ambiente Airflow 1.10.15.COMPOSER_1_LOCATION
con la regione in cui si trova l'ambiente.
Controlla l'output del comando. Gli script per il controllo degli aggiornamenti segnalano potenziali problemi di compatibilità negli ambienti esistenti.
Implementa altre modifiche ai DAG, come descritto nella guida all'upgrade a Airflow 2.0 e versioni successive, nella sezione sull'upgrade dei DAG.
Passaggio 3: assicurati che i DAG siano pronti per Airflow 2
Prima di trasferire i DAG al tuo ambiente Cloud Composer 2, assicurati che:
Gli script di controllo dell'upgrade per i DAG vengono eseguiti correttamente e non ci sono altri problemi di compatibilità.
I DAG utilizzano istruzioni di importazione corrette.
Ad esempio, la nuova istruzione di importazione per
BigQueryCreateDataTransferOperator
può avere il seguente aspetto:from airflow.providers.google.cloud.operators.bigquery_dts \ import BigQueryCreateDataTransferOperator
Viene eseguito l'upgrade dei tuoi DAG per Airflow 2. Questa modifica è compatibile con Airflow 1.10.14 e versioni successive.
Passaggio 4: metti in pausa i DAG nel tuo ambiente Cloud Composer 1
Per evitare esecuzioni di DAG duplicate, metti in pausa tutti i DAG nel tuo ambiente Cloud Composer 1 prima di salvare lo snapshot.
Puoi utilizzare una delle seguenti opzioni:
Nell'interfaccia web di Airflow, vai a DAG e metti in pausa tutti i DAG manualmente.
Utilizza lo script composer_dags per mettere in pausa tutti i DAG:
python3 composer_dags.py --environment COMPOSER_1_ENV \ --project PROJECT_ID \ --location COMPOSER_1_LOCATION \ --operation pause
Sostituisci:
COMPOSER_1_ENV
con il nome del tuo ambiente Cloud Composer 1.PROJECT_ID
con l'ID progetto.COMPOSER_1_LOCATION
con la regione in cui si trova l'ambiente.
Passaggio 5: salva lo snapshot del tuo ambiente Cloud Composer 1
Console
Crea uno snapshot del tuo ambiente:
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente Cloud Composer 1. Viene visualizzata la pagina Dettagli ambiente.
Fai clic su Crea snapshot.
Nella finestra di dialogo Crea istantanea, fai clic su Invia. Questa guida ti permette di salvare lo snapshot nel bucket dell'ambiente Cloud Composer 1, ma se vuoi puoi selezionarne una diversa.
Attendi che Cloud Composer crei lo snapshot.
gcloud
Recupera l'URI del bucket del tuo ambiente Cloud Composer 1:
Esegui questo comando:
gcloud composer environments describe COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --format="value(config.dagGcsPrefix)"
Sostituisci:
COMPOSER_1_ENV
con il nome del tuo ambiente Cloud Composer 1.COMPOSER_1_LOCATION
con la regione in cui si trova l'ambiente.
Nell'output, rimuovi la cartella
/dags
. Il risultato è l'URI del bucket del tuo ambiente Cloud Composer 1.Ad esempio, modifica
gs://us-central1-example-916807e1-bucket/dags
ings://us-central1-example-916807e1-bucket
.
Crea uno snapshot del tuo ambiente Cloud Composer 1:
gcloud beta composer environments snapshots save \ COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --snapshot-location "COMPOSER_1_SNAPSHOTS_FOLDER"
Sostituisci:
COMPOSER_1_ENV
con il nome del tuo ambiente Cloud Composer 1.COMPOSER_1_LOCATION
con la regione in cui si trova l'ambiente Cloud Composer 1.COMPOSER_1_SNAPSHOTS_FOLDER
con l'URI del bucket del tuo ambiente Cloud Composer. Questa guida ti permette di salvare lo snapshot nel bucket dell'ambiente di Cloud Composer 1, ma se vuoi puoi selezionarne una diversa. Se specifichi una località personalizzata, gli account di servizio di entrambi gli ambienti devono disporre delle autorizzazioni di lettura e scrittura per la località specificata.
Passaggio 6: crea un ambiente Cloud Composer 2
Crea un ambiente Cloud Composer 2. Puoi iniziare con un ambiente preimpostato che corrisponda alle richieste di risorse previste per poi scalare e ottimizzare ulteriormente l'ambiente.
Non è necessario specificare gli override della configurazione e le variabili di ambiente, poiché li sostituisci in un secondo momento, quando carichi lo snapshot dell'ambiente Cloud Composer 1.
Alcune opzioni di configurazione di Airflow 1 utilizzano una sezione e un nome diversi in Airflow 2. Per saperne di più, consulta Modifiche alla configurazione.
Passaggio 7: carica lo snapshot nel tuo ambiente Cloud Composer 2
Console
Per caricare lo snapshot nel tuo ambiente Cloud Composer 2:
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente Cloud Composer 2. Viene visualizzata la pagina Dettagli ambiente.
Fai clic su Carica snapshot.
Nella finestra di dialogo Carica snapshot, fai clic su Sfoglia.
Seleziona la cartella con lo snapshot. Se utilizzi la posizione predefinita per questa guida, questa cartella si trova nel bucket di ambiente Cloud Composer 1 all'interno della cartella
/snapshots
e il nome è il timestamp dell'operazione di salvataggio dello snapshot. Ad esempio,us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2022-01-05T18-59-00
.Fai clic su Carica e attendi che Cloud Composer carichi lo snapshot.
gcloud
Carica lo snapshot del tuo ambiente Cloud Composer 1 nel tuo ambiente Cloud Composer 2:
gcloud beta composer environments snapshots load \
COMPOSER_2_ENV \
--location COMPOSER_2_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Sostituisci:
COMPOSER_2_ENV
con il nome del tuo ambiente Cloud Composer 2.COMPOSER_2_LOCATION
con la regione in cui si trova l'ambiente Cloud Composer 2.SNAPSHOT_PATH
con l'URI del bucket dell'ambiente Cloud Composer 1, seguito dal percorso dello snapshot. Ad esempio,gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2022-01-05T18-59-00
.
Passaggio 8: riattiva i DAG nell'ambiente Cloud Composer 2
Puoi utilizzare una delle seguenti opzioni:
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_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation unpause
Sostituisci:
COMPOSER_2_ENV
con il nome del tuo ambiente Cloud Composer 2.PROJECT_ID
con l'ID progetto.COMPOSER_2_LOCATION
con la regione in cui si trova l'ambiente.
Passaggio 9: verifica la presenza di errori DAG
Nell'interfaccia web di Airflow, vai a DAG e verifica la presenza di errori di sintassi DAG segnalati.
Verifica che le esecuzioni di DAG siano pianificate all'ora corretta.
Attendi che le esecuzioni DAG vengano eseguite nell'ambiente Cloud Composer 2 e controlla se l'operazione è riuscita. Se un'esecuzione DAG ha esito positivo, non riattivarla nell'ambiente Cloud Composer 1; in questo caso, un DAG viene eseguito per la stessa ora e la stessa data nel tuo ambiente Cloud Composer 1.
Se l'esecuzione di un DAG specifico non va a buon fine, prova a risolvere i problemi del DAG finché non viene eseguito correttamente in Cloud Composer 2.
Passaggio 10: monitora l'ambiente Cloud Composer 2
Dopo aver trasferito tutti i DAG e la configurazione nell'ambiente Cloud Composer 2, monitorali per individuare potenziali problemi, le esecuzioni di DAG non riuscite e l'integrità complessiva dell'ambiente.
Se l'ambiente Cloud Composer 2 viene eseguito senza problemi per un periodo di tempo sufficiente, valuta la possibilità di eliminare l'ambiente Cloud Composer 1.
Passaggi successivi
- Risoluzione dei problemi dei DAG
- Risoluzione dei problemi relativi alla creazione dell'ambiente
- Risoluzione dei problemi relativi agli aggiornamenti dell'ambiente
- Utilizzare i pacchetti di backport