Menggunakan perlindungan terminasi untuk melindungi cluster 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 terminasi untuk melindungi cluster Anda dari penutupan yang tidak disengaja

Perlindungan terminasi melindungi klaster Anda dari penghentian yang tidak disengaja, yang dapat sangat berguna untuk klaster yang berjalan lama yang 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 EC2 instance 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 diaktifkan, TerminateJobFlows tindakan di Amazon EMR API tidak berfungsi. Pengguna tidak dapat mengakhiri cluster menggunakan ini API atau terminate-clusters perintah dari AWS CLI. APIMengembalikan kesalahan, dan CLI keluar dengan kode pengembalian bukan nol. Saat Anda menggunakan EMR konsol Amazon untuk menghentikan klaster, Anda akan diminta langkah ekstra untuk menonaktifkan perlindungan penghentian.

Awas

Perlindungan penghentian tidak menjamin bahwa data disimpan jika terjadi kesalahan manusia atau solusinya — misalnya, jika perintah reboot dikeluarkan dari baris perintah saat terhubung ke instans menggunakanSSH, jika aplikasi atau skrip yang berjalan pada instance mengeluarkan perintah reboot, atau jika Amazon atau EC2 Amazon EMR API digunakan untuk menonaktifkan perlindungan penghentian. Ini juga benar jika Anda menjalankan Amazon EMR rilis 7.1 dan yang lebih tinggi dan instance menjadi tidak sehat dan tidak dapat dipulihkan. Bahkan dengan perlindungan terminasi diaktifkan, data yang disimpan ke penyimpanan instans, termasuk HDFS data, 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 penghentian dan Amazon EC2

Setelan perlindungan penghentian di EMR klaster Amazon sesuai dengan DisableApiTermination atribut untuk semua EC2 instans Amazon di klaster. Misalnya, jika Anda mengaktifkan perlindungan penghentian di EMR klaster, Amazon EMR secara otomatis menyetel DisableApiTermination ke true untuk semua EC2 instance dalam EMR klaster. Hal yang sama berlaku jika Anda menonaktifkan perlindungan penghentian. Amazon EMR secara otomatis menyetel DisableApiTermination ke false untuk semua EC2 instance dalam EMR cluster. Jika Anda menghentikan atau mengurangi skala klaster dari Amazon EMR dan konflik EC2 setelan Amazon untuk suatu EC2 instans, Amazon EMR memprioritaskan setelan Amazon di atas EMR pengaturan DisableApiStop dan DisableApiTermination di Amazon EC2 dan terus menghentikan instans. EC2

Misalnya, Anda dapat menggunakan EC2 konsol Amazon untuk mengaktifkan perlindungan penghentian pada EC2 instans Amazon dalam EMR klaster dengan perlindungan penghentian dinonaktifkan. Jika Anda menghentikan atau mengurangi klaster dengan EMR konsol Amazon, AWS CLI, atau Amazon EMRAPI, Amazon EMR mengganti DisableApiTermination pengaturan, menyetelnya ke false, dan mengakhiri instance bersama dengan instance lainnya.

Anda juga dapat menggunakan EC2 konsol Amazon untuk mengaktifkan perlindungan berhenti pada EC2 instans Amazon dalam EMR klaster dengan perlindungan penghentian dinonaktifkan. Jika Anda menghentikan atau mengurangi skala cluster, Amazon akan EMR menyetel DisableApiStop ke false di Amazon EC2 dan menghentikan instance bersama dengan instance lainnya.

Amazon EMR mengganti DisableApiStop setelan hanya jika Anda menghentikan atau menurunkan skala cluster. Saat Anda mengaktifkan atau menonaktifkan perlindungan penghentian di EMR kluster, Amazon EMR tidak mengubah disableApiStop setelan untuk EC2 instans apa pun di EMR kluster masing-masing.

penting

Jika Anda membuat instance sebagai bagian dari EMR klaster Amazon dengan perlindungan penghentian, dan Anda menggunakan Amazon EC2 API atau AWS CLI perintah untuk memodifikasi instance sehingga DisableApiTerminationfalse, dan kemudian Amazon EC2 API atau AWS CLI perintah menjalankan TerminateInstances operasi, EC2 instans Amazon berakhir.

Perlindungan terminasi dan YARN node yang tidak sehat

Amazon EMR secara berkala memeriksa YARN status Apache Hadoop dari node yang berjalan pada EC2 instance inti dan tugas Amazon dalam sebuah cluster. Status kesehatan dilaporkan oleh layanan pemeriksa NodeManager kesehatan. Jika sebuah node melaporkanUNHEALTHY, pengontrol EMR instans Amazon menambahkan node ke denylist dan tidak mengalokasikan YARN kontainer ke dalamnya sampai menjadi sehat kembali. Bergantung pada status perlindungan terminasi, penggantian node yang tidak sehat, dan versi EMR rilis Amazon, 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 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 sebuah klaster.

Jika langkah gagal yang dikonfigurasi dengan ActionOnFailure set keCANCEL_AND_WAIT, jika penghentian setelah eksekusi langkah diaktifkan, cluster akan berakhir tanpa mengeksekusi 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 EMR penghentian Amazon tidak mencegah Instans EC2 Spot Amazon berhenti ketika harga Spot naik di atas harga Spot maksimum.

Mengonfigurasi perlindungan pengakhiran saat Anda meluncurkan klaster

Anda dapat mengaktifkan atau menonaktifkan perlindungan terminasi saat meluncurkan klaster menggunakan konsol, AWS CLI, atauAPI.

Untuk cluster simpul tunggal, pengaturan perlindungan terminasi default adalah sebagai berikut:

  • Meluncurkan cluster oleh Amazon EMR Console —Perlindungan Terminasi dinonaktifkan secara default.

  • Meluncurkan klaster oleh AWS CLI aws emr create-cluster—Perlindungan Terminasi dinonaktifkan kecuali --termination-protected ditentukan.

  • Meluncurkan klaster dengan EMR API RunJobFlowperintah Amazon—Perlindungan Penghentian dinonaktifkan kecuali nilai TerminationProtected boolean disetel ke. true

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

  • Meluncurkan klaster oleh Amazon EMR Console — Perlindungan Terminasi diaktifkan secara default.

  • Meluncurkan klaster oleh AWS CLI aws emr create-cluster—Perlindungan Terminasi dinonaktifkan kecuali --termination-protected ditentukan.

  • Meluncurkan klaster dengan EMR API RunJobFlowperintah Amazon—Perlindungan Penghentian dinonaktifkan kecuali nilai TerminationProtected boolean disetel ke. true

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

  2. Di bawah EMREC2di panel navigasi kiri, pilih Clusters, lalu pilih Create cluster.

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

  4. Di bawah terminasi Cluster dan penggantian node, pastikan bahwa perlindungan Use terminasi telah dipilih sebelumnya, atau hapus pilihan untuk mematikannya.

  5. Pilih opsi lain yang berlaku untuk cluster Anda.

  6. Untuk meluncurkan klaster Anda, pilih Buat klaster.

AWS CLI
Untuk mengaktifkan atau menonaktifkan perlindungan terminasi saat Anda membuat klaster 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.2.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 EMR perintah Amazon di AWS CLI, lihat https://docs.aws.amazon.com/cli/latest/reference/emr.

Mengonfigurasi perlindungan pengakhiran untuk menjalankan klaster

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

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

  2. Di bawah EMREC2di panel navigasi kiri, pilih Cluster, 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 Simpan perubahan untuk mengonfirmasi.

AWS CLI
Untuk mengaktifkan atau menonaktifkan perlindungan terminasi untuk klaster 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 memungkinkan perlindungan terminasi pada cluster dengan ID j-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