Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Halaman ini menjelaskan cara mentransfer DAG, data, dan konfigurasi dari lingkungan Cloud Composer 2 yang ada ke Cloud Composer 3.
Sebelum memulai
Panduan migrasi ini menggunakan snapshot. Snapshot didukung di Cloud Composer 2 versi 2.0.9 dan yang lebih baru.
Cloud Composer mendukung migrasi berdampingan dari Cloud Composer 2 ke Cloud Composer 3. Anda tidak dapat melakukan upgrade dari Cloud Composer 2 ke Cloud Composer 3 secara langsung.
Periksa daftar perbedaan antara Cloud Composer 2 dan Cloud Composer 3. Pastikan lingkungan Anda tidak menggunakan fitur yang tidak tersedia di Pratinjau Publik Cloud Composer 3.
Ukuran maksimum database Airflow yang mendukung snapshot adalah 20 GB. Jika {i>database<i} lingkungan Anda mengambil lebih dari 20 GB, mengurangi ukuran database Airflow.
Jumlah total objek dalam folder
/dags
,/plugins
, dan/data
di bucket lingkungan harus kurang dari 100.000 hingga membuat snapshot.Jika Anda menggunakan mekanisme XCom untuk mentransfer file, pastikan Anda menggunakannya sesuai dengan pedoman Airflow. Mentransfer file besar atau sejumlah besar file menggunakan dampak XCom Performa database Airflow dan dapat menyebabkan kegagalan saat memuat snapshot atau mengupgrade lingkungan Anda. Pertimbangkan untuk menggunakan alternatif seperti Cloud Storage untuk mentransfer data dalam volume besar.
Memastikan DAG Anda kompatibel dengan Cloud Composer 3
Pastikan DAG Anda kompatibel dengan Cloud Composer 3 dengan mengikuti saran ini:
Daftar paket di lingkungan Cloud Composer 3 dapat berbeda dengan di lingkungan Cloud Composer 2 Anda. Hal ini dapat memengaruhi kompatibilitas DAG Anda dengan Cloud Composer 3.
Cloud Composer memuat penggantian konfigurasi, lingkungan variabel, dan paket PyPI dari snapshot lingkungan Cloud Composer 2 Anda ke Cloud Composer 3 tanpa mengubah atau menyesuaikannya kompatibilitas mundur. Jika paket PyPI khusus menyebabkan konflik dependensi, Anda dapat melewatkan instalasi mereka saat Anda memuat {i>snapshot<i}.
Di Cloud Composer 3, cluster lingkungan berada di project tenant. Pastikan DAG Anda kompatibel dengan perubahan ini. Secara khusus, workload
KubernetesPodOperator
kini diskalakan secara independen dari lingkungan Anda dan Anda tidak dapat menggunakan konfigurasi afinitas Pod.Di Cloud Composer 3, database Airflow tidak dapat diakses secara langsung. Merek memastikan DAG Anda kompatibel dengan perubahan ini.
Menjeda DAG di lingkungan Cloud Composer 2
Untuk menghindari DAG duplikat, jeda semua DAG di Cloud Composer 2
sebelum menyimpan snapshot-nya. Lewati DAG pemantauan keaktifan
(airflow_monitoring
), digunakan untuk tujuan pemantauan dan tidak disertakan
dalam snapshot lingkungan.
Anda dapat menggunakan salah satu opsi berikut untuk menjeda DAG:
Jeda DAG satu per satu di konsol Google Cloud:
Di konsol Google Cloud, buka halaman Environments.
Pilih lingkungan untuk melihat detailnya.
Di halaman Environment details, buka tab DAGs.
Klik nama DAG.
Di halaman Detail DAG, klik Jeda DAG.
Di antarmuka web Airflow, buka DAG dan menjeda semua DAG secara manual.
Gunakan skrip composer_dags untuk menjeda semua DAG:
python3 composer_dags.py --environment COMPOSER_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation pause
Ganti:
COMPOSER_2_ENV
dengan nama lingkungan Cloud Composer 2 Anda.PROJECT_ID
dengan Project ID.COMPOSER_2_LOCATION
dengan region tempat lingkungan berada.
Menyimpan snapshot lingkungan Cloud Composer 2 Anda
Konsol
Buat snapshot lingkungan Anda:
Di Konsol Google Cloud, buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan lingkungan Cloud Composer 2. Halaman Environment details akan terbuka.
Klik Create snapshot.
Pada dialog Create snapshot, klik Submit. Di beberapa panduan ini, Anda akan menyimpan snapshot di lingkungan Cloud Composer 2 tetapi Anda dapat memilih lokasi lain jika mau. Jika Anda menentukan lokasi kustom, akun layanan dari kedua lingkungan harus memiliki izin baca dan tulis untuk lokasi yang ditentukan.
Tunggu hingga Cloud Composer membuat snapshot.
Setelah snapshot dibuat, pesan yang ditampilkan akan menampilkan lokasi snapshot. Simpan informasi ini untuk digunakan nanti saat Anda memuat ini snapshot ke lingkungan Cloud Composer 3.
Misalnya, lokasi snapshot mungkin terlihat seperti:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.
gcloud
Buat snapshot lingkungan Cloud Composer 2 Anda:
gcloud composer environments snapshots save \ COMPOSER_2_ENV \ --location COMPOSER_2_LOCATION
Ganti:
COMPOSER_2_ENV
dengan nama lingkungan Cloud Composer 2 Anda.COMPOSER_2_LOCATION
dengan region tempat Cloud Composer 2 tertentu.(opsional) Anda dapat menggunakan argumen
--snapshot-location
untuk menentukan lokasi kustom tempat snapshot lingkungan harus disimpan.Dalam panduan ini, Anda menyimpan snapshot di bucket lingkungan Cloud Composer 2, tetapi Anda dapat memilih di lokasi yang berbeda, jika Anda mau. Jika Anda menentukan lokasi kustom, akun layanan dari kedua lingkungan harus memiliki izin baca dan tulis untuk lokasi yang ditentukan.
Setelah snapshot dibuat, pesan yang ditampilkan akan menampilkan lokasi snapshot. Simpan informasi ini untuk digunakan nanti saat Anda memuat snapshot ini ke lingkungan Cloud Composer 3.
Misalnya, lokasi snapshot mungkin terlihat seperti:
gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
.
Membuat lingkungan Cloud Composer3
Buat lingkungan Cloud Composer 3 menggunakan metode berikut panduan:
Anda dapat memulai dengan konfigurasi batas resource yang sama dengan lingkungan Cloud Composer 2, lalu menskalakan dan mengoptimalkan konfigurasi lebih lanjut.
Di lingkungan Cloud Composer 3, pemroses DAG Airflow berjalan sebagai komponen lingkungan terpisah. Karena prosesor DAG mengalihkan penguraian DAG dari penjadwal, Anda mungkin perlu mendistribusikan ulang sumber daya yang sebelumnya yang dialokasikan untuk penjadwal Airflow. Anda dapat melakukannya nanti setelah bermigrasi ke Cloud Composer 3 serta memantau performa penjadwal dan prosesor DAG.
Cloud Composer 3 menyediakan penyiapan jaringan yang lebih sederhana dan ringkas dibandingkan dengan Cloud Composer 2. Dimungkinkan untuk beralih antara Konfigurasi jaringan IP Publik dan IP Pribadi serta memasang dan melepas VPC jaringan. Anda tidak perlu menentukan rentang IP . Pastikan konfigurasi jaringan lingkungan Cloud Composer 3 Anda cocok dengan konfigurasi Cloud Composer 2 yang sesuai.
Anda tidak perlu menentukan penggantian konfigurasi dan variabel lingkungan karena Anda akan menggantinya nanti saat memuat snapshot lingkungan Cloud Composer 2.
Memuat snapshot ke lingkungan Cloud Composer 3 Anda
Konsol
Untuk memuat snapshot ke lingkungan Cloud Composer 3:
Di Konsol Google Cloud, buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Cloud Composer 3 Anda. Halaman Environment details akan terbuka.
Klik Load snapshot.
Pada dialog Load snapshot, klik Browse.
Pilih folder yang berisi snapshot.
Jika Anda menggunakan lokasi default untuk panduan ini, folder ini terletak di bucket lingkungan Cloud Composer 2 di folder
/snapshots
, dan namanya adalah stempel waktu operasi penyimpanan snapshot. Hal yang sama lokasi ditampilkan dalam pesan tentang keberhasilan pembuatan dan membuat snapshot.Contoh:
us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12
Klik Load dan tunggu hingga Cloud Composer memuat snapshot.
gcloud
Muat snapshot lingkungan Cloud Composer 2 ke lingkungan Cloud Composer 3:
gcloud composer environments snapshots load \
COMPOSER_3_ENV \
--location COMPOSER_3_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Ganti:
COMPOSER_3_ENV
dengan nama lingkungan Cloud Composer 3 Anda.COMPOSER_3_LOCATION
dengan region tempat lingkungan Cloud Composer 3 berada.SNAPSHOT_PATH
dengan URI bucket lingkungan Cloud Composer 2, diikuti dengan jalur ke snapshot. Hal yang sama lokasi ditampilkan dalam pesan tentang keberhasilan pembuatan dan membuat snapshot. Contoh:gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12
.
Menghentikan jeda DAG di lingkungan Cloud Composer 3
Anda dapat menggunakan salah satu opsi berikut:
Hentikan jeda DAG satu per satu di konsol Google Cloud:
Di Konsol Google Cloud, buka halaman Environments.
Pilih lingkungan untuk melihat detailnya.
Di halaman Environment details, buka tab DAGs.
Klik nama DAG.
Di halaman Detail DAG, klik Hentikan jeda DAG.
Di antarmuka web Airflow, buka DAG, lalu batalkan jeda semua DAG secara manual satu per satu.
Gunakan skrip composer_dags untuk membatalkan jeda semua DAG:
python3 composer_dags.py --environment COMPOSER_3_ENV \ --project PROJECT_ID \ --location COMPOSER_3_LOCATION \ --operation unpause
Ganti:
COMPOSER_3_ENV
dengan nama lingkungan Cloud Composer 3 Anda.PROJECT_ID
dengan Project ID.COMPOSER_3_LOCATION
dengan region tempat lingkungan berada.
Memeriksa error DAG
Di antarmuka web Airflow, buka DAG dan periksa error sintaksis DAG yang dilaporkan.
Pastikan DAG berjalan sesuai jadwal pada waktu yang benar.
Tunggu hingga DAG dijalankan di lingkungan Cloud Composer 3 dan periksa apakah DAG berhasil dijalankan. Jika operasi DAG berhasil, jangan membatalkan jeda di lingkungan Cloud Composer 2; Jika Anda melakukannya, DAG dijalankan untuk waktu dan tanggal yang sama di Cloud Composer 2 lingkungan fleksibel App Engine.
Jika DAG tertentu gagal dijalankan, coba memecahkan masalah DAG hingga berhasil berjalan di Cloud Composer 3.
Memantau lingkungan Cloud Composer3 Anda
Setelah Anda mentransfer semua DAG dan konfigurasi ke lingkungan Cloud Composer 3, monitor untuk mengetahui potensi masalah, kegagalan operasi DAG, dan kondisi lingkungan secara keseluruhan.
Jika lingkungan Cloud Composer 3 berjalan tanpa masalah Untuk jangka waktu yang cukup, pertimbangkan untuk menghapus Cloud Composer 2 lingkungan fleksibel App Engine.