Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan perlindungan penghentian untuk melindungi cluster Amazon EMR Anda dari penutupan yang tidak disengaja
Perlindungan penghentian melindungi cluster Anda dari penghentian yang tidak disengaja, yang dapat sangat berguna untuk cluster yang berjalan lama dan memproses beban kerja kritis. Saat perlindungan pengakhiran diaktifkan pada klaster yang berjalan lama, Anda masih dapat mengakhiri klaster, tetapi Anda harus secara gamblang menghapus perlindungan pengakhiran dari klaster terlebih dahulu. Ini membantu memastikan bahwa instans EC2 tidak dimatikan karena kecelakaan atau kesalahan. Anda dapat mengaktifkan perlindungan pengakhiran saat membuat klaster, dan Anda dapat mengubah pengaturan pada klaster yang sedang berjalan.
Dengan perlindungan penghentian yang diaktifkan, tindakan TerminateJobFlows di API Amazon EMR tidak bekerja. Pengguna tidak dapat mengakhiri klaster menggunakan API ini atau perintah terminate-clusters dari AWS CLI. API mengembalikan kesalahan, dan CLI keluar dengan kode pengembalian bukan nol. Saat Anda menggunakan konsol Amazon EMR untuk menghentikan cluster, Anda akan diminta dengan langkah tambahan untuk mematikan perlindungan penghentian.
Awas
Perlindungan pengakhiran tidak menjamin bahwa data akan disimpan jika terjadi kesalahan manusia atau suatu solusi—misalnya, jika perintah reboot dikeluarkan dari baris perintah saat terhubung ke instans menggunakan SSH, jika aplikasi atau skrip berjalan pada instans yang mengeluarkan perintah mulai ulang, atau jika Amazon EC2 atau Amazon EMR API digunakan untuk menonaktifkan perlindungan pengakhiran. Ini juga benar jika Anda menjalankan Amazon EMR rilis 7.1 dan lebih tinggi dan instance menjadi tidak sehat dan tidak dapat dipulihkan. Bahkan dengan perlindungan pengakhiran yang diaktifkan, data yang disimpan di penyimpanan instans, termasuk data HDFS, dapat hilang. Tulis keluaran data ke lokasi Amazon S3 dan buat strategi pencadangan yang sesuai untuk kebutuhan kelangsungan bisnis Anda.
Pengakhiran penghentian tidak memengaruhi kemampuan Anda untuk menskalakan sumber daya klaster menggunakan salah satu tindakan berikut:
-
Mengubah ukuran cluster secara manual dengan Konsol Manajemen AWS atau AWS CLI. Untuk informasi selengkapnya, lihat Mengubah ukuran cluster Amazon EMR yang sedang berjalan secara manual.
-
Menghapus instance dari grup instans inti atau tugas menggunakan kebijakan penskalaan kedalam dengan penskalaan otomatis. Untuk informasi selengkapnya, lihat Menggunakan penskalaan otomatis dengan kebijakan khusus untuk grup contoh di Amazon EMR.
-
Menghapus instans dari armada instans dengan mengurangi kapasitas target. Untuk informasi selengkapnya, lihat Opsi armada instans.
Perlindungan pengakhiran dan Amazon EC2
Pengaturan perlindungan penghentian di cluster Amazon EMR sesuai dengan DisableApiTermination atribut untuk semua instans Amazon EC2 di cluster. Misalnya, jika Anda mengaktifkan perlindungan penghentian di cluster EMR, Amazon EMR secara otomatis menyetel DisableApiTermination menjadi true untuk semua instans EC2 dalam cluster EMR. Hal yang sama berlaku jika Anda menonaktifkan perlindungan penghentian. Amazon EMR secara otomatis mengatur DisableApiTermination menjadi false untuk semua instans EC2 dalam cluster EMR. Jika Anda menghentikan atau menurunkan skala cluster dari Amazon EMR dan konflik pengaturan Amazon EC2 untuk instans EC2, Amazon EMR memprioritaskan setelan Amazon EMR di atas DisableApiStop dan DisableApiTermination pengaturan di Amazon EC2 dan terus menghentikan instans EC2.
Misalnya, Anda dapat menggunakan konsol Amazon EC2 untuk mengaktifkan perlindungan penghentian pada instans Amazon EC2 di cluster EMR dengan perlindungan penghentian dinonaktifkan. Jika Anda menghentikan atau menurunkan skala cluster dengan konsol Amazon EMR, AWS CLI, atau Amazon EMR API, Amazon EMR mengesampingkan DisableApiTermination menyetel, menyetelnya ke false, dan mengakhiri instance bersama dengan instance lainnya.
Anda juga dapat menggunakan konsol Amazon EC2 untuk mengaktifkan perlindungan penghentian pada instans Amazon EC2 di cluster EMR dengan perlindungan penghentian dinonaktifkan. Jika Anda menghentikan atau menurunkan skala cluster, Amazon EMR menyetel DisableApiStop menjadi false di Amazon EC2 dan mengakhiri instance bersama dengan instans lainnya.
Amazon EMR mengesampingkan DisableApiStop pengaturan hanya ketika Anda menghentikan atau menurunkan skala cluster. Saat Anda mengaktifkan atau menonaktifkan perlindungan penghentian di cluster EMR, Amazon EMR tidak mengubah disableApiStop pengaturan untuk salah satu instans EC2 di cluster EMR masing-masing.
penting
Jika Anda membuat instance sebagai bagian dari cluster Amazon EMR dengan perlindungan penghentian, dan Anda menggunakan API Amazon EC2 atau AWS CLI perintah untuk memodifikasi instance sehingga DisableApiTermination adalah false, dan kemudian Amazon EC2 API atau AWS CLI perintah menjalankan TerminateInstances operasi, instans Amazon EC2 berakhir.
Perlindungan pengakhiran dan simpulYARN yang tidak sehat
Amazon EMR secara berkala memeriksa status Apache Hadoop YARN dari simpul yang berjalan pada instans Amazon EC2 inti dan tugas dalam sebuah klasster. Status kesehatan dilaporkan oleh NodeManager layanan pemeriksa kesehatanUNHEALTHY, pengontrol instans Amazon EMR menambahkan node ke denylist dan tidak mengalokasikan wadah YARN untuk node tersebut sampai menjadi sehat kembali. Tergantung pada status perlindungan penghentian, penggantian simpul yang tidak sehat, dan versi rilis Amazon EMR, Amazon EMR akan mengganti instance yang tidak sehat atau berhenti mengalokasikan pengontrol ke instance.
Perlindungan penghentian dan penghentian setelah eksekusi langkah
Saat Anda mengaktifkan penghentian setelah eksekusi langkah dan pula aktifkan perlindungan penghentian, Amazon EMR mengabaikan perlindungan penghentian.
Saat Anda mengirimkan langkah ke suatu klaster, Anda dapat mengatur properti ActionOnFailure untuk menentukan apa yang terjadi jika langkah tersebut tidak dapat menyelesaikan pelaksanaan karena mengalami kesalahan. Nilai yang mungkin untuk pengaturan ini adalah TERMINATE_CLUSTER (TERMINATE_JOB_FLOWdengan versi yang lebih lama), CANCEL_AND_WAIT, dan CONTINUE. Untuk informasi selengkapnya, lihat Mengirimkan pekerjaan ke cluster Amazon EMR.
Jika langkah gagal yang dikonfigurasi dengan ActionOnFailure diatur ke CANCEL_AND_WAIT, jika penghentian setelah eksekusi langkah diaktifkan, cluster berakhir tanpa menjalankan langkah-langkah selanjutnya.
Jika langkah yang mengalami kegagalan yang dikonfigurasi dengan set ActionOnFailure ke TERMINATE_CLUSTER, gunakan tabel pengaturan di bawah ini untuk menentukan hasilnya.
| ActionOnFailure | Pengakhiran setelah eksekusi langkah | Perlindungan pengakhiran | Hasil |
|---|---|---|---|
|
|
Diaktifkan |
Nonaktif |
Klaster berakhir |
|
Diaktifkan |
Diaktifkan |
Klaster berakhir |
|
|
Nonaktif |
Diaktifkan |
Klaster berlanjut |
|
|
Nonaktif |
Nonaktif |
Klaster berakhir |
Perlindungan pengakhiran dan Instans Spot
Perlindungan penghentian Amazon EMR tidak mencegah Instans Spot Amazon EC2 dihentikan saat harga Spot naik di atas harga Spot maksimum.
Mengonfigurasi perlindungan pengakhiran saat Anda meluncurkan klaster
Anda dapat mengaktifkan atau menonaktifkan perlindungan penghentian saat meluncurkan cluster menggunakan konsol, AWS CLI, atau API.
Untuk cluster simpul tunggal, pengaturan perlindungan terminasi default adalah sebagai berikut:
-
Meluncurkan cluster oleh Amazon EMR Console —Perlindungan Pengakhiran adalah dinonaktifkan secara default.
-
Meluncurkan cluster dengan AWS CLI
aws emr create-clusterPerlindungan Pengakhiran adalah dinonaktifkan kecuali--termination-protectedditentukan. -
Meluncurkan cluster dengan Amazon EMR API RunJobFlow Perintah - Perlindungan penghentian adalah dinonaktifkan Kecuali jika
TerminationProtectednilai boolean disetel ketrue.
Untuk cluster dengan ketersediaan tinggi, pengaturan perlindungan terminasi default adalah sebagai berikut:
-
Meluncurkan cluster oleh Amazon EMR Console - Perlindungan Pengakhiran adalah memungkinkan secara default.
-
Meluncurkan cluster dengan AWS CLI
aws emr create-clusterPerlindungan Pengakhiran adalah dinonaktifkan kecuali--termination-protectedditentukan. -
Meluncurkan cluster dengan Amazon EMR API RunJobFlow Perintah - Perlindungan penghentian adalah dinonaktifkan Kecuali jika
TerminationProtectednilai boolean disetel ketrue.
Mengonfigurasi perlindungan pengakhiran untuk menjalankan klaster
Anda dapat mengonfigurasi perlindungan terminasi untuk cluster yang sedang berjalan dengan konsol atau AWS CLI.