Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jendela pemeliharaan untuk AWS Glue Streaming
AWS Glue secara berkala melakukan kegiatan pemeliharaan. Selama jendela pemeliharaan ini, Anda AWS Glue perlu memulai ulang pekerjaan streaming Anda. Anda dapat mengontrol kapan pekerjaan dimulai ulang dengan menentukan jendela pemeliharaan. Di bagian ini, kami menguraikan di mana Anda dapat mengatur jendela pemeliharaan dan perilaku tertentu yang harus Anda pertimbangkan.
Topik
Menyiapkan jendela pemeliharaan
Anda dapat mengatur jendela pemeliharaan menggunakan AWS Glue Studio atau API.
Menyiapkan jendela pemeliharaan di AWS Glue Studio
Anda dapat menentukan jendela pemeliharaan di halaman Detail Pekerjaan AWS Glue Streaming Anda. Anda dapat menentukan hari dan waktu di GMT. AWS Glue akan memulai kembali pekerjaan Anda dalam jendela waktu yang ditentukan.
Menyiapkan jendela pemeliharaan di API
Anda juga dapat mengatur jendela pemeliharaan di Create Job API. Berikut adalah contoh mengonfigurasi jendela pemeliharaan melalui API.
aws glue create-job —name jobName —role roleArnForTheJob —command Name=gluestreaming,ScriptLocation=s3-path-to-the-script --maintenance-window="Sun:10"
Contoh perintah adalah sebagai berikut:
aws glue create-job —name testMaintenance —role arn:aws:iam::012345678901:role/Glue_DefaultRole —command Name=gluestreaming,ScriptLocation=s3://glue-example-test/example.py —maintenance-window="Sun:10
Perilaku jendela pemeliharaan
AWS Glue melalui serangkaian langkah untuk memutuskan kapan harus memulai kembali pekerjaan:
Ketika pekerjaan streaming baru dimulai, AWS Glue pertama-tama periksa apakah ada batas waktu yang terkait dengan pekerjaan yang dijalankan. Batas waktu memungkinkan Anda mengonfigurasi waktu akhir pekerjaan. Jika batas waktu kurang dari 7 hari, maka pekerjaan tidak akan dimulai ulang.
Jika batas waktu lebih besar dari 7 hari, maka AWS Glue periksa apakah jendela pemeliharaan dikonfigurasi untuk pekerjaan itu. Jika ya maka jendela itu diambil dan jendela akan ditetapkan untuk menjalankan pekerjaan. AWS Glue akan memulai kembali pekerjaan dalam waktu 3 jam dari jendela pemeliharaan yang ditentukan. Misalnya, jika Anda mengatur jendela pemeliharaan untuk hari Senin pukul 10:00 GMT, pekerjaan Anda akan dimulai kembali antara 10:00 GMT hingga 1:00 GMT.
Jika jendela pemeliharaan tidak dikonfigurasi, AWS Glue secara otomatis menyetel waktu restart ke 7 hari setelah waktu inisiasi menjalankan pekerjaan. Misalnya, jika Anda memulai pekerjaan Anda pada 7/1/2024 12:00 GMT dan Anda tidak menentukan jendela pemeliharaan, pekerjaan Anda akan diatur untuk dimulai ulang pada 7/8/2024 pukul 12:00 GMT.
catatan
Jika Anda sudah menjalankan pekerjaan streaming, perubahan ini akan berdampak pada Anda mulai 1 Juli 2024. Anda akan memiliki waktu hingga 30 Juni untuk mengkonfigurasi jendela pemeliharaan Anda. Setelah 1 Juli, pekerjaan streaming apa pun yang Anda mulai akan dimulai ulang sesuai dokumentasi ini. Jika Anda memerlukan dukungan tambahan, Anda dapat menghubungi AWS Support.
Terkadang, AWS Glue mungkin tidak dapat memulai kembali pekerjaan, terutama ketika batch mikro yang sedang berlangsung tidak diproses. Dalam hal ini, pekerjaan tidak akan terganggu. Dalam hal ini, AWS Glue akan restart pekerjaan setelah 14 hari, dan dalam hal ini, jendela pemeliharaan tidak dihormati.
Pemantauan Job
Anda dapat memantau pekerjaan di halaman Pemantauan AWS Glue Studio.
Untuk melihat waktu restart pekerjaan streaming berikutnya yang diharapkan, tampilkan kolom pada tabel Job running di halaman Monitoring.
Klik ikon Gear di kanan atas tabel.
Gulir ke bawah, dan nyalakan kolom Waktu restart yang diharapkan. Pilihan waktu UTC dan Lokal tersedia.
Anda kemudian dapat melihat kolom dalam tabel.
Pekerjaan asli akan memiliki status “EXPIRED” dan instance pekerjaan baru akan memiliki status “RUNNING”. Job run baru yang dimulai ulang akan memiliki ID job run sebagai gabungan dari ID job run awal ditambah awalan “restart_” yang mewakili jumlah restart. Misalnya, jika ID job run awal adalahjr_1234
, maka job run yang dimulai ulang akan memiliki ID jr1234_restart_1
untuk restart pertama. Restart kedua adalah jr1234_restart_2
untuk restart kedua dan seterusnya.
Upaya coba lagi Anda tidak akan terpengaruh karena restart. Jika proses gagal dan proses baru dimulai karena percobaan ulang otomatis, penghitung restart akan dimulai dari 1 lagi. Misalnya, jika proses gagaljr_1234_attempt_3_restart_5
, maka percobaan ulang otomatis akan memulai proses baru dengan ID: jr_id1_attempt_4
dan ketika upaya ini dimulai ulang setelah 7 hari, ID run baru akan menjadi. jr_id1_attempt_4_restart_1
Penanganan kehilangan data
Selama pemeliharaan dimulai ulang, AWS Glue Streaming mengikuti proses yang memastikan integritas dan konsistensi data antara pekerjaan sebelumnya dan menjalankan pekerjaan yang dimulai ulang. Perhatikan bahwa AWS Glue tidak menjamin integritas dan konsistensi data antara restart pekerjaan dan kami merekomendasikan pertimbangan arsitektur untuk menangani data duplikat dalam pekerjaan streaming.
Mendeteksi kondisi restart pemeliharaan: AWS Glue Streaming memantau kondisi yang menunjukkan kapan restart pemeliharaan harus dipicu, seperti ketika jendela pemeliharaan tercapai setelah 7 hari atau hard restart diperlukan setelah 14 hari.
Memanggil penghentian yang anggun: Ketika kondisi restart pemeliharaan terpenuhi, AWS Glue Streaming memulai proses penghentian yang anggun untuk pekerjaan yang sedang berjalan. Proses ini melibatkan langkah-langkah berikut:
Menghentikan konsumsi data baru: Pekerjaan streaming berhenti mengkonsumsi data baru dari sumber input (misalnya, topik Kafka, aliran Kinesis, atau file).
Memproses data yang tertunda: Pekerjaan terus memproses data apa pun yang sudah ada dalam buffer atau antrian internalnya.
Melakukan offset dan pos pemeriksaan: Pekerjaan melakukan offset atau pos pemeriksaan terbaru ke sistem eksternal (misalnya, Kafka, Kinesis, atau Amazon S3) untuk memastikan bahwa pekerjaan yang dimulai ulang dapat diambil dari tempat pekerjaan sebelumnya ditinggalkan.
Memulai ulang pekerjaan: Setelah proses penghentian yang anggun selesai, AWS Glue Streaming memulai ulang pekerjaan menggunakan status dan pos pemeriksaan yang diawetkan. Pekerjaan yang dimulai ulang mengambil pemrosesan dari offset atau pos pemeriksaan terakhir yang dilakukan, memastikan bahwa tidak ada data yang hilang atau diduplikasi.
Melanjutkan pemrosesan data: Pekerjaan yang dimulai ulang melanjutkan pemrosesan data dari titik di mana pekerjaan sebelumnya ditinggalkan. Ini terus menelan data baru dari sumber input, mulai dari offset atau pos pemeriksaan terakhir yang dilakukan, dan memproses data sesuai dengan logika ETL yang ditentukan.