Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Halaman ini mencantumkan masalah umum Cloud Composer. Untuk informasi tentang perbaikan masalah, lihat Catatan rilis.
Label lingkungan yang ditambahkan selama update tidak disebarkan sepenuhnya
Label lingkungan yang diperbarui tidak diterapkan ke VM Compute Engine. Sebagai solusi, label tersebut dapat diterapkan secara manual.
Operasi DAG pertama untuk file DAG yang diupload memiliki beberapa tugas yang gagal
Saat Anda mengupload file DAG, terkadang beberapa tugas pertama dari DAG pertama
yang dijalankan gagal dengan error Unable to read remote log...
. Masalah
ini terjadi karena file DAG disinkronkan antara bucket, pekerja Airflow, dan penjadwal Airflow di lingkungan
Anda. Jika penjadwal mendapatkan file DAG dan menjadwalkannya untuk dijalankan oleh pekerja, dan jika pekerja belum memiliki file DAG, eksekusi tugas akan gagal.
Untuk mengurangi masalah ini, lingkungan dengan Airflow 2 dikonfigurasi untuk melakukan dua percobaan ulang untuk tugas yang gagal secara default. Jika gagal, tugas akan dicoba ulang dua kali dengan interval 5 menit.
Cloud Composer tidak akan terpengaruh oleh Kerentanan Apache Log4j 2 (CVE-2021-44228)
Sebagai respons terhadap Kerentanan Apache Log4j 2 (CVE-2021-44228), Cloud Composer telah melakukan investigasi mendetail dan kami yakin bahwa Cloud Composer tidak rentan terhadap eksploitasi ini.
UI Airflow terkadang mungkin tidak memuat ulang plugin setelah diubah
Jika plugin terdiri dari banyak file yang mengimpor modul lain, UI Airflow mungkin tidak dapat mengenali fakta bahwa plugin harus dimuat ulang. Dalam kasus tersebut, mulai ulang server web Airflow di lingkungan Anda.
Error 504 saat mengakses UI Airflow
Anda bisa mendapatkan error 504 Gateway Timeout
saat mengakses UI Airflow. Error ini dapat disebabkan oleh beberapa hal:
Masalah komunikasi sementara. Dalam hal ini, coba akses UI Airflow nanti. Anda juga dapat memulai ulang server web Airflow.
(Khusus Cloud Composer 3) Masalah konektivitas. Jika UI Airflow tidak tersedia secara permanen, dan error waktu tunggu atau 504 dihasilkan, pastikan lingkungan Anda dapat mengakses
*.composer.googleusercontent.com
.(Khusus Cloud Composer 2) Masalah konektivitas. Jika UI Airflow tidak tersedia secara permanen, dan error waktu tunggu atau 504 dihasilkan, pastikan lingkungan Anda dapat mengakses
*.composer.cloud.google.com
. Jika Anda menggunakan Private Google Access dan mengirim traffic melalui Virtual IPprivate.googleapis.com
, atau Kontrol Layanan VPC dan mengirim traffic melalui Virtual IPrestricted.googleapis.com
, pastikan Cloud DNS Anda juga dikonfigurasi untuk nama domain*.composer.cloud.google.com
.Server web Airflow tidak responsif. Jika error 504 terus terjadi, tetapi Anda masih dapat mengakses UI Airflow pada waktu tertentu, server web Airflow mungkin tidak responsif karena kelebihan beban. Coba tingkatkan parameter skala dan performa server web.
Error 502 saat mengakses UI Airflow
Error 502 Internal server exception
menunjukkan bahwa UI Airflow tidak dapat
menayangkan permintaan masuk. Error ini dapat disebabkan oleh beberapa hal:
Masalah komunikasi sementara. Coba akses UI Airflow nanti.
Gagal memulai server web. Untuk memulai, server web memerlukan file konfigurasi yang disinkronkan terlebih dahulu. Periksa log server web untuk menemukan entri log yang terlihat mirip dengan:
GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/airflow.cfg /home/airflow/gcs/airflow.cfg.tmp
atauGCS sync exited with 1: gcloud storage cp gs://<bucket-name>/env_var.json.cfg /home/airflow/gcs/env_var.json.tmp
. Jika Anda melihat error ini, periksa apakah file yang disebutkan dalam pesan error masih ada di bucket lingkungan.Jika kebijakan tersebut tidak sengaja dihapus (misalnya, karena kebijakan retensi dikonfigurasi), Anda dapat memulihkannya:
Tetapkan variabel lingkungan baru di lingkungan Anda. Anda dapat menggunakan nama dan nilai variabel apa pun.
Ganti opsi konfigurasi Airflow. Anda dapat menggunakan opsi konfigurasi Airflow yang tidak ada.
Mengarahkan kursor ke instance tugas dalam tampilan Hierarki akan menampilkan TypeError yang tidak tertangkap
Di Airflow 2, tampilan Hierarki di UI Airflow terkadang mungkin tidak berfungsi dengan benar saat zona waktu non-default digunakan. Sebagai solusi untuk masalah ini, konfigurasi zona waktu secara eksplisit di UI Airflow.
Folder kosong di Scheduler dan Workers
Cloud Composer tidak secara aktif menghapus folder kosong dari pekerja dan penjadwal Airflow. Entitas tersebut mungkin dibuat sebagai hasil dari proses sinkronisasi bucket lingkungan saat folder ini ada di bucket dan akhirnya dihapus.
Rekomendasi: Sesuaikan DAG Anda agar siap melewati folder kosong tersebut.
Entitas tersebut pada akhirnya akan dihapus dari penyimpanan lokal penjadwal dan pekerja Airflow saat komponen ini dimulai ulang (misalnya, sebagai akibat dari operasi pemeliharaan atau penskalaan ke bawah di cluster lingkungan Anda).
Dukungan untuk Kerberos
Cloud Composer tidak mendukung konfigurasi Kerberos Airflow.
Dukungan untuk class komputasi di Cloud Composer 2 dan Cloud Composer 3
Cloud Composer 3 dan Cloud Composer 2 hanya mendukung class komputasi umum. Artinya, Pod yang berjalan dan meminta class komputasi lain (seperti Balanced atau Scale-Out) tidak dapat dilakukan.
Class umum memungkinkan Pod yang berjalan meminta memori hingga 110 GB dan hingga 30 CPU (seperti yang dijelaskan dalam Permintaan Maksimum Class Komputasi.
Jika ingin menggunakan arsitektur berbasis ARM atau memerlukan lebih banyak CPU dan Memori, Anda harus menggunakan class komputasi yang berbeda, yang tidak didukung dalam cluster Cloud Composer 3 dan Cloud Composer 2.
Rekomendasi: Gunakan GKEStartPodOperator
untuk menjalankan Pod Kubernetes di
cluster lain yang mendukung class komputasi yang dipilih. Jika Anda
menjalankan Pod kustom yang memerlukan class komputasi yang berbeda, Pod tersebut juga harus berjalan
di cluster non-Cloud Composer.
Operasi upgrade mungkin gagal jika Sentry diaktifkan
Operasi upgrade untuk lingkungan Cloud Composer mungkin gagal jika Anda mengonfigurasi Sentry di lingkungan dan menetapkan setelan [sentry]sentry_on
ke true
.
Solusi:
- Nonaktifkan Sentry di lingkungan Anda, lakukan upgrade, dan konfigurasikan Sentry lagi.
Penyimpanan Cloud SQL tidak dapat dikurangi
Cloud Composer menggunakan Cloud SQL untuk menjalankan database Airflow. Seiring waktu, penyimpanan disk untuk instance Cloud SQL dapat bertambah karena disk disk ditingkatkan skalanya agar sesuai dengan data yang disimpan oleh operasi Cloud SQL saat database Airflow bertambah.
Ukuran disk Cloud SQL tidak dapat diskalakan ke bawah.
Sebagai solusi, jika ingin menggunakan ukuran disk Cloud SQL terkecil, Anda dapat membuat ulang lingkungan Cloud Composer dengan snapshot.
Metrik Penggunaan Disk database tidak berkurang setelah menghapus data dari Cloud SQL
Database relasional, seperti Postgres atau MySQL, tidak menghapus baris secara fisik saat dihapus atau diperbarui. Sebagai gantinya, Tuple tersebut akan ditandai sebagai "tuple mati" untuk mempertahankan konsistensi data dan menghindari pemblokiran transaksi serentak.
MySQL dan Postgres menerapkan mekanisme pengembalian ruang setelah data dihapus.
Meskipun Anda dapat memaksa database untuk mengklaim kembali ruang disk yang tidak digunakan, hal ini adalah operasi yang membutuhkan banyak resource yang juga mengunci database sehingga Cloud Composer tidak tersedia. Oleh karena itu, sebaiknya Anda mengandalkan mekanisme build untuk mengklaim kembali ruang yang tidak digunakan.
Akses diblokir: Error Otorisasi
Jika masalah ini memengaruhi pengguna, dialog
Akses diblokir: Error Otorisasi akan berisi
pesan Error 400: admin_policy_enforced
.
Jika opsi Kontrol API > Aplikasi pihak ketiga yang tidak dikonfigurasi > Jangan izinkan pengguna mengakses aplikasi pihak ketiga diaktifkan di Google Workspace dan Apache Airflow di aplikasi Cloud Composer tidak diizinkan secara eksplisit, pengguna tidak dapat mengakses UI Airflow kecuali jika mereka mengizinkan aplikasi secara eksplisit.
Untuk mengizinkan akses, lakukan langkah-langkah yang diberikan di Mengizinkan akses ke UI Airflow di Google Workspace.
Komponen Airflow mengalami masalah saat berkomunikasi dengan bagian lain dari konfigurasi Cloud Composer
Dalam kasus yang sangat jarang terjadi, lambatnya komunikasi ke server Metadata Compute Engine dapat menyebabkan komponen Airflow tidak berfungsi secara optimal. Misalnya, penjadwal Airflow mungkin dimulai ulang, tugas Airflow mungkin perlu dicoba ulang, atau waktu mulai tugas mungkin lebih lama.
Gejala:
Error berikut muncul di log komponen Airflow (seperti penjadwal, pekerja, atau server web Airflow):
Authentication failed using Compute Engine authentication due to unavailable metadata server
Compute Engine Metadata server unavailable on attempt 1 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 2 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 3 of 3. Reason: timed out
Solusi:
Tetapkan variabel lingkungan berikut: GCE_METADATA_TIMEOUT=30
.
Folder /data tidak tersedia di server web Airflow
Di Cloud Composer 2 dan Cloud Composer 3, server web Airflow dimaksudkan untuk sebagian besar komponen hanya baca dan Cloud Composer tidak menyinkronkan folder data/
ke komponen ini.
Terkadang, Anda mungkin ingin membagikan file umum di antara semua komponen Airflow, termasuk server web Airflow.
Solusi:
Gabungkan file yang akan dibagikan dengan server web ke dalam modul PYPI dan instal sebagai paket PYPI reguler. Setelah modul PYPI diinstal di lingkungan, file akan ditambahkan ke gambar komponen Airflow dan tersedia untuknya.
Tambahkan file ke folder
plugins/
. Folder ini disinkronkan ke server web Airflow.
Diagram ukuran tas DAG dan waktu penguraian DAG yang tidak berkelanjutan dalam pemantauan
Diagram ukuran tas DAG dan waktu penguraian DAG yang tidak berkelanjutan di dasbor pemantauan menunjukkan masalah dengan waktu penguraian DAG yang lama (lebih dari 5 menit).
Solusi: Sebaiknya pertahankan waktu penguraian DAG total di bawah 5 menit. Untuk mengurangi waktu penguraian DAG, ikuti pedoman penulisan DAG.
Log tugas muncul dengan penundaan
Gejala:
- Di Cloud Composer 3, log tugas Airflow tidak langsung muncul dan tertunda selama beberapa menit.
Penyebab:
Jika lingkungan Anda menjalankan banyak tugas secara bersamaan, log tugas dapat tertunda karena ukuran infrastruktur lingkungan tidak cukup untuk memproses semua log dengan cukup cepat.
Solusi:
- Pertimbangkan untuk meningkatkan ukuran infrastruktur lingkungan guna meningkatkan performa.
- DAG yang didistribusikan berjalan dari waktu ke waktu, sehingga tugas tidak dijalankan secara bersamaan.