Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengkonfigurasi penskalaan otomatis pekerja Amazon MWAA
Mekanisme penskalaan otomatis secara otomatis meningkatkan jumlah pekerja Apache Airflow sebagai respons terhadap tugas yang sedang berjalan dan antri di Alur Kerja Terkelola Amazon Anda untuk lingkungan Apache Airflow dan membuang pekerja tambahan saat tidak ada lagi tugas yang diantri atau dijalankan. Topik ini menjelaskan bagaimana Anda dapat mengonfigurasi penskalaan otomatis dengan menentukan jumlah maksimum pekerja Apache Airflow yang berjalan di lingkungan Anda menggunakan konsol Amazon MWAA.
catatan
Amazon MWAA menggunakan metrik Apache Airflow untuk menentukan kapan pekerja Celery Executor tambahanmax-workers Ketika pekerja tambahan menyelesaikan pekerjaan dan beban kerja berkurang, Amazon MWAA menghapusnya, sehingga menurunkan skala kembali ke nilai yang ditetapkan oleh. min-workers
Jika pekerja mengambil tugas baru saat menurunkan skala, Amazon MWAA menyimpan sumber daya Fargate dan tidak menghapus pekerja. Untuk informasi selengkapnya, lihat Cara kerja penskalaan otomatis Amazon MWAA.
Bagian-bagian
Cara kerja penskalaan pekerja
Amazon MWAA menggunakan RunningTasks dan QueuedTasks metrik, di mana (tugas yang menjalankan+tugas diantrian)/(tugas per pekerja) = (pekerja wajib). Jika jumlah pekerja yang dibutuhkan lebih besar dari jumlah pekerja saat ini, Amazon MWAA akan menambahkan wadah pekerja Fargate ke nilai tersebut, hingga nilai maksimum yang ditentukan oleh. max-workers
Saat beban kerja berkurang dan jumlah QueuedTasks metrik berkurang, Amazon MWAA meminta Fargate untuk menurunkan pekerja untuk lingkungan. RunningTasks Setiap pekerja yang masih menyelesaikan pekerjaan tetap terlindungi selama downscaling sampai mereka menyelesaikan pekerjaan mereka. Tergantung pada beban kerja, tugas mungkin antri sementara pekerja menurunkan skala.
Menggunakan konsol Amazon MWAA
Anda dapat memilih jumlah maksimum pekerja yang dapat berjalan di lingkungan Anda secara bersamaan di konsol Amazon MWAA. Secara default, Anda dapat menentukan nilai maksimum hingga 25.
Untuk mengkonfigurasi jumlah pekerja
-
Buka halaman Lingkungan
di konsol Amazon MWAA. -
Pilih lingkungan.
-
Pilih Edit.
-
Pilih Berikutnya.
-
Pada panel kelas Lingkungan, masukkan nilai dalam Jumlah pekerja maksimum.
-
Pilih Simpan.
catatan
Ini bisa memakan waktu beberapa menit sebelum perubahan berlaku pada lingkungan Anda.
Contoh kasus penggunaan kinerja tinggi
Bagian berikut menjelaskan jenis konfigurasi yang dapat Anda gunakan untuk mengaktifkan kinerja tinggi dan paralelisme pada lingkungan.
Apache Airflow di lokasi
Biasanya, dalam platform Apache Airflow di lokasi, Anda akan mengonfigurasi paralelisme tugas, penskalaan otomatis, dan pengaturan konkurensi dalam file Anda: airflow.cfg
-
core.parallelism— Jumlah maksimum instance tugas yang dapat berjalan secara bersamaan per penjadwal. -
core.dag_concurrency— Konkurensi maksimum untuk DAGs (bukan pekerja). -
celery.worker_autoscale— Jumlah tugas maksimum dan minimum yang dapat dijalankan secara bersamaan pada pekerja mana pun.
Misalnya, jika core.parallelism disetel ke 100 dan core.dag_concurrency disetel ke7, Anda masih hanya dapat menjalankan total 14 tugas secara bersamaan jika Anda memiliki 2 DAGs. Mengingat, setiap DAG diatur untuk menjalankan hanya tujuh tugas secara bersamaan (incore.dag_concurrency), meskipun paralelisme keseluruhan diatur ke 100 (in). core.parallelism
catatan
core.dag_concurrencytidak tersedia di Apache Airflow v3.
Di lingkungan Amazon MWAA
Di lingkungan Amazon MWAA, Anda dapat mengonfigurasi pengaturan ini secara langsung di konsol Amazon MWAA menggunakan Menggunakan opsi konfigurasi Apache Airflow di Amazon MWAAMengkonfigurasi kelas lingkungan Amazon MWAA, dan mekanisme penskalaan otomatis jumlah pekerja maksimum. Meskipun tidak core.dag_concurrency tersedia dalam daftar drop-down sebagai opsi konfigurasi Apache Airflow di konsol Amazon MWAA, Anda dapat menambahkannya sebagai opsi konfigurasi Apache Airflow khusus.
Katakanlah, ketika Anda membuat lingkungan Anda, Anda memilih pengaturan berikut:
-
Kelas lingkungan mw1.small yang mengontrol jumlah maksimum tugas bersamaan yang dapat dijalankan setiap pekerja secara default dan vCPU kontainer.
-
Pengaturan default
10pekerja dalam jumlah pekerja Maksimum. -
Opsi konfigurasi Apache Airflow
celery.worker_autoscaleuntuk tugas per pekerja5,5.
Ini berarti Anda dapat menjalankan 50 tugas bersamaan di lingkungan Anda. Setiap tugas di atas 50 akan diantrian, dan menunggu tugas yang sedang berjalan selesai.
Jalankan lebih banyak tugas bersamaan. Anda dapat memodifikasi lingkungan untuk menjalankan lebih banyak tugas secara bersamaan menggunakan konfigurasi berikut:
-
Tambahkan
celery.worker_autoscalesebagai opsi konfigurasi Apache Airflow. -
Tingkatkan jumlah pekerja maksimum. Dalam contoh ini, meningkatkan pekerja maksimum dari
10ke20akan menggandakan jumlah tugas bersamaan yang dapat dijalankan lingkungan.
Tentukan Pekerja minimum. Anda juga dapat menentukan jumlah minimum dan maksimum pekerja Apache Airflow yang berjalan di lingkungan Anda menggunakan AWS Command Line Interface ().AWS CLI Misalnya:
aws mwaa update-environment --max-workers 10 --min-workers 10 --nameYOUR_ENVIRONMENT_NAME
Untuk mempelajari lebih lanjut, lihat perintah update-environment di. AWS CLI
Memecahkan masalah tugas yang macet dalam status berjalan
Dalam kasus yang jarang terjadi, Apache Airflow mungkin berpikir ada tugas yang masih berjalan. Untuk mengatasi masalah ini, Anda perlu menghapus tugas yang terdampar di UI Apache Airflow Anda. Untuk informasi selengkapnya, lihat topik Memecahkan Masalah Alur Kerja Terkelola Amazon untuk Apache Airflow pemecahan masalah.
Apa selanjutnya?
-
Pelajari lebih lanjut tentang praktik terbaik yang kami rekomendasikan untuk menyesuaikan kinerja lingkungan AndaPenyetelan kinerja untuk Apache Airflow di Amazon MWAA.