Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Halaman ini menjelaskan data yang disimpan Cloud Composer untuk lingkungan Anda di Cloud Storage.
Saat Anda membuat lingkungan, Cloud Composer membuat
Cloud Storage dan mengaitkan bucket
dengan lingkungan Anda. Nama bucket didasarkan pada lingkungan
wilayah, nama, dan ID acak seperti us-central1-b1-6efabcde-bucket
.
Cloud Composer menyinkronkan folder tertentu di bucket lingkungan Anda ke komponen Airflow yang berjalan di lingkungan Anda. Misalnya, saat Anda mengupdate file dengan kode Airflow DAG di bucket lingkungan, komponen Airflow juga akan menerima versi yang diupdate. Cloud Composer menggunakan Cloud Storage FUSE untuk sinkronisasi.
Folder di bucket Cloud Storage
Folder | Jalur penyimpanan | Direktori yang dipetakan | Deskripsi |
---|---|---|---|
DAG | gs://bucket-name/dags |
/home/airflow/gcs/dags |
Menyimpan DAG untuk lingkungan Anda. |
Plugin | gs://bucket-name/plugins |
/home/airflow/gcs/plugins |
Menyimpan plugin kustom Anda, seperti operator, hook, sensor, atau antarmuka Airflow internal. |
Data | gs://bucket-name/data |
/home/airflow/gcs/data |
Menyimpan data yang dihasilkan dan digunakan oleh tugas. |
Log | gs://bucket-name/logs |
/home/airflow/gcs/logs |
Menyimpan log Airflow untuk tugas. Log juga tersedia di antarmuka web Airflow dan di tab Logs di Konsol Google Cloud. |
Cloud Composer menyinkronkan folder dags/
dan plugins/
secara searah. Sinkronisasi searah berarti bahwa
perubahan lokal pada
folder pada komponen Airflow akan ditimpa. data/
dan logs/
folder disinkronkan secara dua arah.
Sinkronisasi data pada akhirnya konsisten. Untuk mengirim pesan dari satu operator ke operator lain, menggunakan XComs.
Pertimbangan kapasitas
Data dari folder dags/
, plugins/
, dan data/
disinkronkan ke Airflow
penjadwal dan pekerja.
Konten folder plugins/
disinkronkan ke server web Airflow.
Makin banyak data yang dimasukkan ke dalam folder ini, makin banyak ruang yang ditempati
di penyimpanan lokal komponen Airflow. Menghemat terlalu
banyak data di
dags/
dan plugins/
dapat mengganggu operasi Anda dan menyebabkan masalah seperti:
Pekerja atau penjadwal kehabisan penyimpanan lokal dan diusir karena ruang yang tidak cukup pada {i> disk lokal<i} dari komponen.
Sinkronisasi file dari folder
dags/
danplugins/
ke worker dan penjadwal membutuhkan waktu lama.Menyinkronkan file dari folder
dags/
danplugins/
ke pekerja dan penjadwal menjadi tidak mungkin. Misalnya, Anda menyimpan file 2 GB didags/
, tetapi disk lokal pekerja Airflow hanya dapat dapat menampung 1 GB. Selama sinkronisasi, pekerja kehabisan sumber daya lokal penyimpanan dan sinkronisasi tidak dapat diselesaikan.
Folder DAG dan plugin
Untuk menghindari kegagalan operasi DAG, simpan DAG, plugin, dan modul Python Anda di
Folder dags/
atau plugins/
, meskipun modul Python Anda tidak berisi DAG
atau plugin.
Misalnya, Anda menggunakan DataFlowPythonOperator
yang mereferensikan py_file
Pipeline Dataflow. py_file
tersebut tidak berisi DAG atau
plugin, tetapi Anda tetap harus menyimpannya di folder dags/
atau plugins/
.
Folder data
Ada beberapa skenario saat file tertentu dari folder data/
yang disinkronkan ke komponen Airflow tertentu. Misalnya, ketika
Cloud Composer mencoba membaca file tertentu untuk pertama kalinya selama:
Penguraian DAG: Saat file dibaca untuk pertama kalinya selama penguraian DAG, Cloud Composer menyinkronkannya ke penjadwal yang mengurai DAG.
Eksekusi DAG: Saat file dibaca untuk pertama kalinya selama eksekusi DAG, Cloud Composer menyinkronkannya ke pekerja yang menjalankan eksekusi.
Komponen Airflow memiliki penyimpanan lokal yang terbatas, jadi pertimbangkan untuk menghapus file yang diunduh untuk mengosongkan ruang {i>disk<i} di komponen Anda. Perhatikan bahwa variabel penggunaan penyimpanan juga bisa meningkat untuk sementara waktu jika Anda memiliki beberapa tugas serentak yang mendownload file yang sama ke satu pekerja Airflow.
Folder log
Folder logs/
disinkronkan dari pekerja Airflow ke folder lingkungan
menggunakan Cloud Storage API.
Kuota Cloud Storage API dihitung berdasarkan jumlah data yang dipindahkan, jadi jumlah tugas Airflow yang dapat dijalankan sistem Anda penggunaan Cloud Storage API Anda: semakin banyak tugas yang dijalankan, semakin besar log Anda .
Sinkronisasi dengan server web
Folder plugins/
secara otomatis disinkronkan ke server web sehingga
plugin dapat dimuat oleh UI Airflow. Di Cloud Composer 3, Anda dapat
nonaktifkan dan aktifkan plugin server web di
tanpa perlu menghapus file dari bucket lingkungan.