View a markdown version of this page

Menggunakan perlindungan penghentian untuk melindungi cluster Amazon EMR Anda dari penutupan yang tidak disengaja - Amazon EMR

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 penting. 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 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:

Perlindungan pengakhiran dan Amazon EC2

Setelan perlindungan penghentian di cluster Amazon EMR sesuai dengan DisableApiTermination atribut untuk semua instans Amazon EC2 di cluster. Misalnya, jika Anda mengaktifkan perlindungan terminasi di cluster EMR, Amazon EMR secara otomatis menyetel DisableApiTermination ke true untuk semua instans EC2 dalam cluster EMR. Hal yang sama berlaku jika Anda menonaktifkan perlindungan penghentian. Amazon EMR secara otomatis diset DisableApiTermination el ke 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 daripada pengaturan dan di Amazon EC2 DisableApiStop dan DisableApiTermination 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, atau Amazon EMR API AWS CLI, Amazon EMR mengganti setelan, menyetelnya ke false, dan mengakhiri instance bersama dengan instans lain. DisableApiTermination

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 disetel DisableApiStop ke false di Amazon EC2 dan mengakhiri instance bersama dengan instans lain.

Amazon EMR mengganti DisableApiStop setelan hanya saat Anda menghentikan atau menurunkan skala cluster. Saat Anda mengaktifkan atau menonaktifkan perlindungan terminasi di cluster EMR, Amazon EMR tidak mengubah disableApiStop pengaturan untuk instans EC2 mana pun di cluster EMR masing-masing.

penting

Jika Anda membuat instance sebagai bagian dari cluster Amazon EMR dengan perlindungan penghentian, dan Anda menggunakan API atau AWS CLI perintah Amazon EC2 untuk memodifikasi instansfalse, dan kemudian API atau AWS CLI perintah Amazon EC2 menjalankan TerminateInstances operasi, instans Amazon EC2 dihentikan. DisableApiTermination

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 layanan pemeriksa NodeManager kesehatan. Jika node melaporkanUNHEALTHY, pengontrol instans Amazon EMR menambahkan node ke daftar penolakan dan tidak mengalokasikan wadah YARN untuk node tersebut sampai node menjadi sehat kembali. Bergantung pada status perlindungan penghentian, penggantian node yang tidak sehat, dan versi rilis Amazon EMR, Amazon EMR akan menggantikan instans yang tidak sehat atau berhenti mengalokasikan pengontrol ke instans.

Perlindungan penghentian dan penghentian setelah eksekusi langkah

Saat Anda mengaktifkan penghentian setelah eksekusi langkah dan juga mengaktifkan 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 Kirim pekerjaan ke kluster EMR Amazon.

Jika langkah gagal yang dikonfigurasi dengan ActionOnFailure set keCANCEL_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

TERMINATE_CLUSTER

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 dengan Amazon EMR Console —Perlindungan Pengakhiran dinonaktifkan secara default.

  • Meluncurkan cluster dengan AWS CLI aws emr create-cluster —Perlindungan Terminasi din onaktifkan kecuali --termination-protected ditentukan.

  • Meluncurkan cluster dengan RunJobFlow perintah Amazon EMR API—Perlindungan Terminasi dinonaktifkan kecuali nilai TerminationProtected boolean disetel ke. true

Untuk cluster dengan ketersediaan tinggi, pengaturan perlindungan terminasi default adalah sebagai berikut:

  • Meluncurkan cluster dengan Amazon EMR Console — Perlindungan Pengakhiran di aktifkan secara default.

  • Meluncurkan cluster dengan AWS CLI aws emr create-cluster —Perlindungan Terminasi din onaktifkan kecuali --termination-protected ditentukan.

  • Meluncurkan cluster dengan RunJobFlow perintah Amazon EMR API—Perlindungan Terminasi dinonaktifkan kecuali nilai TerminationProtected boolean disetel ke. true

Console
Untuk mengaktifkan atau menonaktifkan perlindungan penghentian saat Anda membuat cluster dengan konsol
  1. Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon EMR di https://console.aws.amazon.com/emr.

  2. Di bawah EMR di EC2 di panel navigasi kiri, pilih Clu ster, lalu pilih Buat cluster.

  3. Untuk versi rilis EMR, pilih emr-6. 6.0 atau yang lebih baru.

  4. Di bawah Pengakhiran klaster dan penggantian simpul, pastikan Gunakan perlindungan penghentian telah dipilih sebelumnya, atau hapus pilihan untuk mematikannya.

  5. Pilih opsi lain yang berlaku untuk cluster Anda.

  6. Untuk meluncurkan cluster Anda, pilih Buat cluster.

AWS CLI
Untuk mengaktifkan atau menonaktifkan perlindungan penghentian saat Anda membuat cluster menggunakan AWS CLI
  • Dengan AWS CLI, Anda dapat meluncurkan cluster dengan perlindungan terminasi diaktifkan dengan create-cluster perintah dengan --termination-protected parameter. Perlindungan pengakhiran dinonaktifkan secara default.

    Berikut adalah contoh membuat klaster dengan perlindungan pengakhiran yang diaktifkan:

    catatan

    Karakter lanjutan baris Linux (\) disertakan agar mudah dibaca. Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

    aws emr create-cluster --name "TerminationProtectedCluster" --release-label emr-7.13.0 \ --applications Name=Hadoop Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --termination-protected

    Untuk informasi selengkapnya tentang menggunakan perintah Amazon EMR di AWS CLI, lihathttps://docs.aws.amazon.com/cli/latest/reference/emr.

Mengonfigurasi perlindungan pengakhiran untuk menjalankan klaster

Anda dapat mengonfigurasi perlindungan terminasi untuk cluster yang sedang berjalan dengan konsol atau AWS CLI.

Console
Untuk mengaktifkan atau menonaktifkan perlindungan penghentian untuk cluster yang sedang berjalan dengan konsol
  1. Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon EMR di https://console.aws.amazon.com/emr.

  2. Di bawah EMR pada EC2 di panel navigasi kiri, pilih Clu ster, dan pilih cluster yang ingin Anda perbarui.

  3. Pada tab Properties pada halaman detail cluster, temukan Pengakhiran Cluster dan pilih Edit.

  4. Pilih atau kosongkan kotak centang Gunakan perlindungan penghentian untuk mengaktifkan atau menonaktifkan fitur. Kemudian pilih S impan perubahan untuk mengonfirmasi.

AWS CLI
Untuk mengaktifkan atau menonaktifkan perlindungan terminasi untuk cluster yang sedang berjalan menggunakan AWS CLI
  • Untuk mengaktifkan perlindungan terminasi pada cluster yang sedang berjalan dengan AWS CLI, gunakan modify-cluster-attributes perintah dengan --termination-protected parameter. Untuk menonaktifkannya, gunakan parameter --no-termination-protected.

    Contoh berikut mengaktifkan perlindungan terminasi pada cluster dengan IDj-3KVTXXXXXX7UG:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --termination-protected

    Berikut adalah contoh menonaktifkan perlindungan pengakhiran pada klaster yang sama:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-termination-protected