Menurunkan skala klaster - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menurunkan skala klaster

catatan

Opsi perilaku penskalaan tidak lagi didukung sejak Amazon EMR merilis 5.10.0. Karena pengenalan penagihan per detik di Amazon EC2, perilaku menurunkan skala default untuk klaster Amazon EMR sekarang berakhir pada penyelesaian tugas.

Dengan Amazon EMR merilis 5.1.0 hingga 5.9.1, ada dua opsi untuk perilaku penurunan skala: berhenti pada batas jam instans untuk penagihan Amazon EC2, atau dihentikan saat penyelesaian tugas. Dimulai dengan rilis Amazon EMR 5.10.0, pengaturan untuk penghentian pada batas jam instans tidak digunakan lagi karena pengenalan penagihan per detik di Amazon EC2. Kami tidak merekomendasikan menentukan pengakhiran batas jam instans dalam versi yang memiliki opsi tersebut.

Awas

Jika Anda menggunakan AWS CLI untuk mengeluarkan modify-instance-groups denganEC2InstanceIdsToTerminate, instance ini segera dihentikan, tanpa mempertimbangkan pengaturan ini, dan terlepas dari status aplikasi yang berjalan di dalamnya. Mengakhiri sebuah instans dengan cara ini berisiko kehilangan data dan perilaku klaster tak terduga.

Saat penghentian saat penyelesaian tugas ditentukan, Amazon EMR menolak daftar dan menguras tugas dari node sebelum menghentikan instans Amazon EC2. Dengan ditentukannya salah satu perilaku tersebut, Amazon EMR tidak mengakhiri instans Amazon EC2 dalam grup instans inti jika dapat menyebabkan kerusakan HDFS.

Akhiri pada penyelesaian tugas

Amazon EMR mengizinkan Anda untuk menurunkan skala klaster Anda tanpa mempengaruhi beban kerja Anda. Amazon EMR menonaktifkan daemon YARN, HDFS, dan daemon lainnya pada simpul inti dan tugas selama menurunkan ukuran operasi tanpa kehilangan data atau mengganggu pekerjaan. Amazon EMR hanya mengurangi ukuran grup instans jika pekerjaan yang ditetapkan ke grup telah selesai dan tidak digunakan. Untuk NodeManager YARN Graceful Decommission, Anda dapat secara manual menyesuaikan waktu node menunggu untuk dinonaktifkan.

Kali ini diatur menggunakan properti di klasifikasi konfigurasi YARN-site. Menggunakan Amazon EMR rilis 5.12.0 dan yang lebih tinggi, tentukan properti. YARN.resourcemanager.nodemanager-graceful-decommission-timeout-secs Menggunakan rilis Amazon EMR sebelumnya, tentukan properti. YARN.resourcemanager.decommissioning.timeout

Jika masih ada kontainer atau aplikasi YARN yang berjalan saat waktu penonaktifan habis, simpul dipaksa untuk dinonaktifkan dan YARN menjadwalkan ulang kontainer yang terpengaruh pada simpul lainnya. Nilai default adalah 3600 detik (satu jam). Anda dapat mengatur batas waktu ini menjadi nilai tinggi yang sewenang-wenang untuk memaksa pengurangan anggun menunggu lebih lama. Untuk informasi lebih lanjut, lihat Graceful Decommission of YARN nodes dalam dokumentasi Apache Hadoop.

Grup simpul tugas

Amazon EMR secara cerdas memilih instance yang tidak memiliki tugas yang berjalan terhadap langkah atau aplikasi apa pun, dan menghapus instance tersebut dari cluster terlebih dahulu. Jika semua instance di cluster sedang digunakan, Amazon EMR menunggu tugas diselesaikan pada instance sebelum menghapusnya dari cluster. Waktu tunggu default adalah 1 jam. Nilai ini dapat diubah dengan YARN.resourcemanager.decommissioning.timeout pengaturan. Amazon EMR secara dinamis menggunakan pengaturan baru. Anda dapat menyetel ini ke jumlah besar yang sewenang-wenang untuk memastikan bahwa Amazon EMR tidak menghentikan tugas apa pun sekaligus mengurangi ukuran cluster.

Grup simpul inti

Pada node inti, DataNode daemon YARN NodeManager dan HDFS harus dinonaktifkan agar grup instance dapat dikurangi. Untuk YARN, pengurangan anggun memastikan bahwa node yang ditandai untuk penonaktifan hanya dialihkan ke DECOMMISSIONED status jika tidak ada wadah atau aplikasi yang tertunda atau tidak lengkap. Penonaktifan segera selesai jika tidak ada kontainer yang berjalan pada simpul di awal penonaktifan.

Untuk HDFS, pengurangan yang anggun memastikan bahwa kapasitas target HDFS cukup besar untuk memenuhi semua blok yang ada. Jika kapasitas target tidak cukup besar, hanya sebagian jumlah instans inti yang dinonaktifkan sehingga simpul yang tersisa dapat menangani data yang ada di HDFS. Anda harus memastikan kapasitas HDFS tambahan untuk memungkinkan penonaktifan lebih lanjut. Anda juga harus mencoba meminimalkan penulisan I/O sebelum mencoba mengurangi grup instance. I/O tulis yang berlebihan mungkin menunda penyelesaian operasi pengubahan ukuran.

Batas lain adalah faktor replikasi default, dfs.replication di dalam /etc/hadoop/conf/hdfs-site. Saat membuat cluster, Amazon EMR mengonfigurasi nilai berdasarkan jumlah instance di cluster: 1 dengan 1-3 instance, untuk cluster dengan 4-9 instance, dan 2 untuk cluster dengan 10+ instance. 3

Awas
  1. Pengaturan dfs.replication ke 1 pada cluster dengan kurang dari empat node dapat menyebabkan hilangnya data HDFS jika satu node turun. Kami menyarankan Anda menggunakan cluster dengan setidaknya empat node inti untuk beban kerja produksi.

  2. Amazon EMR tidak akan mengizinkan cluster untuk menskalakan node inti di bawah ini. dfs.replication Misalnya, jikadfs.replication = 2, jumlah minimum node inti adalah 2.

  3. Saat Anda menggunakan Penskalaan Terkelola, Penskalaan Otomatis, atau memilih untuk mengubah ukuran klaster secara manual, sebaiknya atur dfs.replication ke 2 atau lebih tinggi.

Pengurangan yang anggun tidak memungkinkan Anda mengurangi node inti di bawah faktor replikasi HDFS. Ini untuk memungkinkan HDFS menutup file karena replika tidak mencukupi. Untuk menghindari batas ini, turunkan faktor replikasi dan restart daemon. NameNode

Mengonfigurasi perilaku menurunkan skala Amazon EMR

catatan

Opsi perilaku scale-down terminate at instance hour tidak lagi didukung untuk rilis Amazon EMR 5.10.0 dan yang lebih tinggi. Opsi perilaku penurunan skala berikut hanya muncul di konsol EMR Amazon untuk rilis 5.1.0 hingga 5.9.1.

Anda dapat menggunakan AWS Management Console, API EMR Amazon AWS CLI, atau Amazon untuk mengonfigurasi perilaku penurunan skala saat membuat klaster.

catatan

Kami telah mendesain ulang konsol EMR Amazon agar lebih mudah digunakan. Lihat Konsol Amazon EMR untuk mempelajari tentang perbedaan antara pengalaman konsol lama dan baru.

New console
Untuk mengonfigurasi perilaku penurunan skala dengan konsol baru
  1. Masuk ke AWS Management Console, dan buka konsol EMR Amazon di https://console.aws.amazon.com/emr.

  2. Di bawah EMR pada EC2 di panel navigasi kiri, pilih Clusters, lalu pilih Create cluster.

  3. Di bagian opsi penskalaan dan penyediaan klaster, temukan Pengakhiran klaster dan pilih untuk menghentikan klaster Anda secara manual atau meminta Amazon EMR menghentikan klaster Anda setelah jumlah waktu idle yang ditentukan. Secara opsional, aktifkan perlindungan penghentian terhadap bug atau kesalahan.

  4. Pilih opsi lain yang berlaku untuk cluster Anda.

  5. Untuk meluncurkan klaster Anda, pilih Buat klaster.

Old console
Untuk mengonfigurasi perilaku penskalaan dengan konsol lama
  1. Buka konsol Amazon EMR. di https://console.aws.amazon.com/elasticmapreduce.

  2. Pilih Buat klaster. Buka Opsi lanjutan dan pilih pengaturan konfigurasi Anda di Langkah 1: Perangkat Lunak dan Langkah dan Langkah 2: Perangkat Keras.

  3. Pada Langkah 3: Pengaturan Cluster Umum, pilih perilaku penskalaan yang Anda inginkan. Selesaikan konfigurasi yang tersisa dan buat cluster Anda.

AWS CLI
Untuk mengonfigurasi perilaku penskalaan dengan AWS CLI
  • Gunakan --scale-down-behavior opsi untuk menentukan salah satu TERMINATE_AT_INSTANCE_HOUR atauTERMINATE_AT_TASK_COMPLETION.