Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Lakukan konfigurasi ulang pada grup instans di klaster yang sedang berjalan
Dengan Amazon EMR versi 5.21.0 dan terbaru, Anda dapat melakukan konfigurasi ulang pada aplikasi klaster dan menentukan klasifikasi konfigurasi tambahan untuk masing-masing grup instans pada klaster yang sedang berjalan. Untuk melakukannya, Anda dapat menggunakan konsol Amazon EMR, AWS Command Line Interface (AWS CLI), atau SDK AWS .
Ketika Anda memperbarui konfigurasi aplikasi untuk grup instans di konsol Amazon EMR, konsol akan mencoba menggabungkan konfigurasi baru dengan konfigurasi yang ada untuk membuat konfigurasi aktif yang baru. Dalam kasus yang tidak biasa di mana Amazon EMR tidak dapat menggabungkan konfigurasi, konsol memberi tahu Anda.
Setelah Anda mengirimkan permintaan konfigurasi ulang untuk grup instans, Amazon EMR menetapkan nomor versi untuk spesifikasi konfigurasi baru. Anda dapat melacak nomor versi konfigurasi, atau status grup instans, dengan melihat CloudWatch event. Untuk informasi selengkapnya, lihat Monitor CloudWatch Events.
catatan
Anda hanya dapat menimpa, dan bukannya menghapus, konfigurasi klaster yang ditentukan selama pembuatan klaster. Jika ada perbedaan antara konfigurasi yang ada dan file yang Anda sediakan, maka Amazon EMR akan me-reset konfigurasi yang telah dimodifikasi secara manual, misalnya konfigurasi yang telah Anda modifikasi saat terhubung ke klaster Anda menggunakan SSH, ke klaster default untuk grup instans yang ditentukan.
Pertimbangan saat Anda melakukan konfigurasi ulang grup instans
- Tindakan konfigurasi ulang
-
Ketika Anda mengirimkan permintaan konfigurasi ulang menggunakan konsol Amazon EMR,AWS CLI(), AWS Command Line Interface atau SDK, Amazon EMR AWS akan memeriksa file konfigurasi yang ada di klaster. Jika ada perbedaan antara konfigurasi yang ada dan file yang Anda sediakan, maka Amazon EMR akan memulai tindakan konfigurasi ulang, melakukan restart pada beberapa aplikasi, dan me-reset konfigurasi yang dimodifikasi secara manual, misalnya konfigurasi yang telah Anda modifikasi saat terhubung ke klaster Anda menggunakan SSH, ke klaster default untuk grup instans yang sudah ditentukan.
catatan
Amazon EMR melakukan beberapa tindakan default selama setiap konfigurasi ulang grup instans. Tindakan default ini mungkin bertentangan dengan kustomisasi klaster yang telah Anda buat, dan mengakibatkan kegagalan konfigurasi ulang. Untuk informasi tentang cara memecahkan masalah kegagalan konfigurasi ulang, lihat Pecahkan masalah konfigurasi ulang grup instans.
Amazon EMR juga memulai tindakan konfigurasi ulang untuk klasifikasi konfigurasi yang Anda tentukan dalam permintaan Anda. Untuk daftar lengkap tindakan ini, lihat bagian Klasifikasi Konfigurasi untuk versi Amazon EMR yang Anda gunakan. Misalnya, Klasifikasi Konfigurasi 6.2.0.
catatan
Panduan Rilis Amazon EMR hanya mencantumkan tindakan konfigurasi ulang yang dimulai dengan Amazon EMR versi 5.32.0 dan 6.2.0.
- Gangguan layanan
-
Amazon EMR mengikuti proses bergulir untuk melakukan konfigurasi ulang instans dalam grup instans Tugas dan Core. Hanya 10 persen instans yang ada dalam grup instans yang dimodifikasi dan di-restart pada suatu waktu. Proses ini membutuhkan waktu lebih lama untuk selesai tetapi mengurangi kemungkinan gagal aplikasi yang mungkin terjadi dalam sebuah klaster yang berjalan.
Untuk menjalankan tugas YARN selama restart YARN, Anda dapat membuat klaster Amazon EMR dengan beberapa simpul utama atau atur
yarn.resourcemanager.recovery.enabled
menjaditrue
di klasifikasi konfigurasiyarn-site
Anda. Untuk informasi selengkapnya tentang penggunaan beberapa simpul utama, lihat YARN Ketersediaan Tinggi ResourceManager. - Validasi aplikasi
-
Amazon EMR memeriksa apakah setiap aplikasi di klaster berjalan setelah proses restart konfigurasi ulang. Jika ada aplikasi yang tidak tersedia, maka operasi konfigurasi ulang secara keseluruhan gagal. Jika operasi rekonfigurasi gagal, maka Amazon EMR akan membalikkan parameter konfigurasi ke versi kerja sebelumnya.
catatan
Untuk menghindari gagal konfigurasi ulang, kami merekomendasikan Anda untuk hanya menginstal aplikasi di klaster Anda yang Anda rencanakan untuk digunakan. Kami juga merekomendasikan Anda untuk memastikan semua aplikasi klaster dalam keadaan sehat dan berjalan sebelum Anda mengirimkan permintaan konfigurasi ulang.
- Jenis konfigurasi ulang
-
Anda dapat mengonfigurasi ulang grup instans dengan salah satu dari dua cara berikut:
-
Menimpa. Metode konfigurasi ulang default dan satu-satunya yang tersedia di Amazon EMR rilis lebih awal dari 5.35.0 dan 6.6.0. Metode konfigurasi ulang ini tanpa pandang bulu menimpa file on-cluster dengan set konfigurasi yang baru dikirimkan. Metode ini menghapus setiap perubahan pada file konfigurasi yang dibuat di luar API konfigurasi ulang.
-
Gabungkan. Metode konfigurasi ulang yang didukung untuk Amazon EMR merilis 5.35.0 dan 6.6.0 dan yang lebih baru, kecuali dari konsol EMR Amazon, di mana tidak ada versi yang mendukungnya. Metode konfigurasi ulang ini menggabungkan konfigurasi yang baru dikirimkan dengan konfigurasi yang sudah ada di cluster. Opsi ini hanya menambah atau memodifikasi konfigurasi baru yang Anda kirimkan. Ini mempertahankan konfigurasi yang ada.
catatan
Amazon EMR terus menimpa beberapa konfigurasi Hadoop penting yang diperlukan untuk memastikan bahwa layanan berjalan dengan benar.
-
Batasan
Ketika Anda melakukan konfigurasi ulang pada grup instans di klaster yang sedang berjalan, pertimbangkan keterbatasan-keterbatasan berikut:
-
Aplikasi non-yarn dapat gagal selama restart atau menyebabkan masalah klaster, terutama jika aplikasi tidak dikonfigurasi dengan benar. Klaster yang mendekati penggunaan memori dan CPU maksimum dapat mengalami masalah setelah proses restart. Hal ini terutama berlaku untuk grup instans utama.
-
Anda tidak dapat mengirimkan permintaan konfigurasi ulang ketika grup instans sedang diubah ukurannya. Jika konfigurasi ulang dimulai sementara grup instans sedang diubah ukurannya, maka konfigurasi ulang tidak akan memulai sampai perubahan ukuran grup instans telah selesai, dan sebaliknya.
-
Setelah melakukan konfigurasi ulang terhadap grup instans, Amazon EMR akan melakukan restart pada aplikasi untuk mengizinkan konfigurasi baru berlaku. Gagal tugas atau perilaku aplikasi tak terduga lainnya mungkin terjadi jika aplikasi sedang digunakan saat konfigurasi ulang dilakukan.
-
Jika konfigurasi ulang untuk grup instans gagal, maka Amazon EMR akan membalikkan parameter konfigurasi ke versi kerja sebelumnya. Jika proses pembalikan juga gagal, maka Anda harus mengirimkan permintaan
ModifyInstanceGroup
baru untuk memulihkan grup instans dari keadaanSUSPENDED
. -
Permintaan konfigurasi ulang untuk klasifikasi konfigurasi Phoenix hanya didukung di Amazon EMR versi 5.23.0 dan setelahnya, dan tidak didukung di Amazon EMR versi 5.21.0 atau 5.22.0.
-
Permintaan konfigurasi ulang untuk klasifikasi HBase konfigurasi hanya didukung di Amazon EMR versi 5.30.0 dan setelahnya, dan tidak didukung di Amazon EMR versi 5.23.0 hingga 5.29.0.
-
Amazon EMR mendukung permintaan konfigurasi ulang aplikasi di klaster Amazon EMR dengan beberapa simpul utama hanya di Amazon EMR versi 5.27.0 dan setelahnya.
-
Mengonfigurasi ulang
hdfs-encryption-zones
klasifikasi atau salah satu klasifikasi konfigurasi Hadoop KMS tidak didukung pada klaster Amazon EMR dengan beberapa simpul utama. -
Amazon EMR saat ini tidak mendukung permintaan konfigurasi ulang tertentu untuk penjadwal kapasitas yang mengharuskan untuk melakukan restart YARN. ResourceManager Misalnya, Anda tidak dapat menghapus antrean sepenuhnya.
Lakukan konfigurasi ulang pada grup instans di konsol tersebut
catatan
Konsol EMR Amazon tidak mendukung konfigurasi ulang tipe Gabungan.
-
Buka konsol Amazon EMR di /emr https://console.aws.amazon.com
-
Dalam daftar klaster di bawah Nama, pilih klaster aktif yang ingin Anda konfigurasi ulang.
-
Buka halaman detail klaster untuk klaster tersebut, dan buka tab Konfigurasi.
-
Di daftar drop-down Filter, pilih grup instans yang ingin Anda konfigurasi ulang.
-
Di menu drop-down Konfigurasi ulang, pilih Mengedit tabel atau Mengedit file JSON.
-
Mengedit tabel - Dalam tabel klasifikasi konfigurasi, edit properti dan nilai untuk konfigurasi yang ada, atau pilih Tambahkan konfigurasi untuk menyediakan klasifikasi konfigurasi tambahan.
-
Mengedit file JSON - Masukkan konfigurasi secara langsung di JSON, atau gunakan sintaks singkatan (ditunjukkan dalam teks bayangan). Jika tidak, sediakan URI Amazon S3 untuk file dengan objek
Configurations
JSON.
catatan
Kolom Sumber dalam tabel klasifikasi konfigurasi menunjukkan apakah konfigurasi disediakan ketika Anda membuat sebuah klaster, atau ketika Anda menentukan konfigurasi tambahan untuk grup instans ini. Anda dapat mengedit konfigurasi untuk grup instans dari kedua sumber. Anda tidak dapat menghapus konfigurasi klaster awal, tetapi Anda dapat menimpa mereka untuk grup instans.
Anda juga dapat menambahkan atau mengedit klasifikasi konfigurasi bersarang langsung di tabel. Misalnya, untuk menyediakan sub-klasifikasi
export
tambahanhadoop-env
, tambahkan klasifikasi konfigurasihadoop.export
dalam tabel. Kemudian, berikan properti dan nilai khusus untuk klasifikasi ini. -
-
(Opsional) Pilih Terapkan konfigurasi ini ke semua grup instans aktif.
-
Simpan perubahan.
Lakukan konfigurasi ulang grup instans menggunakan CLI
Gunakan perintah modify-instance-groups untuk menentukan konfigurasi baru untuk grup instans di klaster yang sedang berjalan.
catatan
Pada contoh berikut, ganti <j-2AL4XXXXXX5T9>
dengan ID klaster Anda, dan ganti <ig-1xxxxxxx9>
dengan ID grup instans Anda.
contoh – Ganti konfigurasi untuk grup instans
Contoh berikut referensi file JSON konfigurasi yang dipanggil instanceGroups.json
untuk mengedit properti pemeriksa kesehatan NodeManager disk YARN untuk grup instans.
-
Siapkan klasifikasi konfigurasi Anda, dan simpan sebagai
instanceGroups.json
di direktori yang sama di mana Anda akan menjalankan perintah.[ { "InstanceGroupId":"
<ig-1xxxxxxx9>
", "Configurations":[ { "Classification":"yarn-site", "Properties":{ "yarn.nodemanager.disk-health-checker.enable":"true", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"100.0" }, "Configurations":[] } ] } ] -
Jalankan perintah berikut.
aws emr modify-instance-groups --cluster-id
<j-2AL4XXXXXX5T9>
\ --instance-groups file://instanceGroups.json
contoh – Menambahkan konfigurasi ke grup instans
Jika Anda ingin menambahkan konfigurasi ke grup instans, Anda harus menyertakan semua konfigurasi yang telah ditentukan sebelumnya untuk grup instans di permintaan ModifyInstanceGroup
. Jika tidak, konfigurasi yang ditentukan sebelumnya akan dihapus.
Contoh berikut menambahkan properti untuk YARN NodeManager virtual memory checker. Konfigurasi juga mencakup nilai yang ditentukan sebelumnya untuk pemeriksa kesehatan NodeManager disk YARN sehingga nilai tidak akan ditimpa.
-
Siapkan konten berikut di
instanceGroups.json
dan simpan di direktori yang sama dimana anda akan menjalankan perintahnya.[ { "InstanceGroupId":"
<ig-1xxxxxxx9>
", "Configurations":[ { "Classification":"yarn-site", "Properties":{ "yarn.nodemanager.disk-health-checker.enable":"true", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"100.0", "yarn.nodemanager.vmem-check-enabled":"true", "yarn.nodemanager.vmem-pmem-ratio":"3.0" }, "Configurations":[] } ] } ] -
Jalankan perintah berikut.
aws emr modify-instance-groups --cluster-id
<j-2AL4XXXXXX5T9>
\ --instance-groups file://instanceGroups.json
contoh — Menambahkan konfigurasi ke grup instans dengan konfigurasi ulang tipe Merge
Ketika Anda ingin menggunakan metode konfigurasi ulang Timpa default untuk menambahkan konfigurasi, Anda harus menyertakan semua konfigurasi yang telah ditentukan sebelumnya untuk grup instans di permintaan baru Anda. ModifyInstanceGroup
Jika tidak, Overwrite akan menghapus konfigurasi yang Anda tentukan sebelumnya. Anda tidak perlu melakukan ini dengan konfigurasi ulang Gabung. Sebaliknya, Anda harus memastikan bahwa permintaan Anda hanya mencakup konfigurasi baru yang disertakan.
Contoh berikut menambahkan properti untuk YARN NodeManager virtual memory checker. Karena ini adalah konfigurasi ulang tipe Gabungan, ini tidak menimpa nilai yang ditentukan sebelumnya untuk pemeriksa kesehatan NodeManager disk YARN.
-
Siapkan konten berikut di
instanceGroups.json
dan simpan di direktori yang sama dimana anda akan menjalankan perintahnya.[ {"InstanceGroupId":"
<ig-1xxxxxxx9>
", "ReconfigurationType" :"MERGE", "Configurations":[ {"Classification":"yarn-site", "Properties":{ "yarn.nodemanager.vmem-check-enabled":"true", "yarn.nodemanager.vmem-pmem-ratio":"3.0" }, "Configurations":[] } ] } ] -
Jalankan perintah berikut.
aws emr modify-instance-groups --cluster-id
<j-2AL4XXXXXX5T9>
\ --instance-groups file://instanceGroups.json
contoh – Hapus konfigurasi untuk grup instans
Untuk menghapus konfigurasi untuk grup instans, kirimkan permintaan konfigurasi ulang baru yang mengecualikan konfigurasi sebelumnya.
catatan
Anda hanya dapat menimpa konfigurasi Klaster awal. Anda tidak dapat menghapusnya.
Misalnya, untuk menghapus konfigurasi untuk pemeriksa kesehatan NodeManager disk YARN dari contoh sebelumnya, kirimkan yang baru instanceGroups.json
dengan konten berikut.
[ { "InstanceGroupId":"
<ig-1xxxxxxx9>
", "Configurations":[ { "Classification":"yarn-site", "Properties":{ "yarn.nodemanager.vmem-check-enabled":"true", "yarn.nodemanager.vmem-pmem-ratio":"3.0" }, "Configurations":[] } ] } ]
catatan
Untuk menghapus semua konfigurasi dalam permintaan konfigurasi ulang terakhir Anda, kirimkan permintaan konfigurasi ulang dengan konfigurasi array kosong. Misalnya,
[ { "InstanceGroupId":"
<ig-1xxxxxxx9>
", "Configurations":[] } ]
contoh – Melakukan konfigurasi ulang dan mengubah ukuran grup instans dalam satu permintaan
JSON contoh berikut menunjukkan cara melakukan konfigurasi ulang dan mengubah ukuran grup instans dalam permintaan yang sama.
[ { "InstanceGroupId":"
<ig-1xxxxxxx9>
", "InstanceCount":5, "EC2InstanceIdsToTerminate":["i-123"], "ForceShutdown":true, "ShrinkPolicy":{ "DecommissionTimeout":10, "InstanceResizePolicy":{ "InstancesToTerminate":["i-123"], "InstancesToProtect":["i-345"], "InstanceTerminationTimeout":20 } }, "Configurations":[ { "Classification":"yarn-site", "Configurations":[], "Properties":{ "yarn.nodemanager.disk-health-checker.enable":"true", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"100.0" } } ] } ]
Lakukan konfigurasi ulang grup instans menggunakan Java SDK
catatan
Pada contoh berikut, ganti <j-2AL4XXXXXX5T9>
dengan ID klaster Anda, dan ganti <ig-1xxxxxxx9>
dengan ID grup instans Anda.
Potongan kode berikut menyediakan konfigurasi baru untuk grup instans menggunakan AWS SDK untuk Java.
AWSCredentials credentials = new BasicAWSCredentials("access-key", "secret-key"); AmazonElasticMapReduce emr = new AmazonElasticMapReduceClient(credentials); Map<String,String> hiveProperties = new HashMap<String,String>(); hiveProperties.put("hive.join.emit.interval","1000"); hiveProperties.put("hive.merge.mapfiles","true"); Configuration configuration = new Configuration() .withClassification("hive-site") .withProperties(hiveProperties); InstanceGroupModifyConfig igConfig = new InstanceGroupModifyConfig() .withInstanceGroupId("
<ig-1xxxxxxx9>
") .withReconfigurationType("MERGE"); .withConfigurations(configuration); ModifyInstanceGroupsRequest migRequest = new ModifyInstanceGroupsRequest() .withClusterId("<j-2AL4XXXXXX5T9>") .withInstanceGroups(igConfig); emr.modifyInstanceGroups(migRequest);
Potongan kode berikut menghapus konfigurasi yang telah ditentukan sebelumnya untuk grup instans dengan menyediakan array kosong konfigurasi.
List<Configuration> configurations = new ArrayList<Configuration>(); InstanceGroupModifyConfig igConfig = new InstanceGroupModifyConfig() .withInstanceGroupId("
<ig-1xxxxxxx9>
") .withConfigurations(configurations); ModifyInstanceGroupsRequest migRequest = new ModifyInstanceGroupsRequest() .withClusterId("<j-2AL4XXXXXX5T9>
") .withInstanceGroups(igConfig); emr.modifyInstanceGroups(migRequest);
Pecahkan masalah konfigurasi ulang grup instans
Jika proses konfigurasi ulang untuk grup instans gagal, Amazon EMR mengembalikan konfigurasi ulang dan membuat log pesan kegagalan menggunakan Amazon Events. CloudWatch Peristiwa ini menyediakan ringkasan singkat dari kegagalan konfigurasi ulang. Ia mendaftar instans yang konfigurasi ulangnya gagal dan pesan kegagalan yang sesuai. Berikut ini adalah contoh pesan kegagalan.
The reconfiguration operation for instance group
ig-1xxxxxxx9
in Amazon EMR clusterj-2AL4XXXXXX5T9
(ExampleClusterName) failed at 2021-01-01 00:00 UTC and took 2 minutes to fail. Failed configuration version isexample12345
. Failure message: Instancei-xxxxxxx1
,i-xxxxxxx2
,i-xxxxxxx3
failed with message "This is an example failure message".
Untuk mengumpulkan lebih banyak data tentang kegagalan konfigurasi ulang, Anda dapat memeriksa simpul yang menyediakan log. Dengan melakukan hal ini akan sangat berguna saat Anda menerima pesan seperti berikut.
i-xxxxxxx1
failed with message “Unable to complete transaction and some changes were applied.”
Setiap file berkas log berisi rincian laporan penyediaan rinci untuk konfigurasi ulang terkait. Untuk menemukan informasi pesan kesalahan, Anda dapat mencari tingkat log err
laporan. Format laporan tergantung pada versi Amazon EMR pada klaster Anda.
Contoh berikut menunjukkan informasi kesalahan untuk Amazon EMR versi rilis lebih awal dari 5.32.0 dan 6.2.0.
- !ruby/object:Puppet::Util::Log
level: !ruby/sym err
tags:
- err
message: "Example detailed error message."
source: Puppet
time: 2021-01-01 00:00:00.000000 +00:00
Amazon EMR versi rilis 5.32.0 dan 6.2.0 dan setelahnya menggunakan format berikut sebagai gantinya.
- level: err
message: 'Example detailed error message.'
source: Puppet
tags:
- err
time: '2021-01-01 00:00:00.000000 +00:00'
file:
line: