Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Merencanakan dan mengonfigurasi armada instans untuk cluster Amazon EMR Anda
catatan
Konfigurasi armada instans hanya tersedia di Amazon EMR rilis 4.8.0 dan yang lebih baru, tidak termasuk 5.0.0 dan 5.0.3.
Konfigurasi armada instans untuk klaster Amazon EMR memungkinkan Anda memilih berbagai macam opsi penyediaan untuk instans Amazon EC2, dan membantu Anda dalam mengembangkan strategi sumber daya yang fleksibel dan elastis untuk setiap jenis simpul di klaster Anda.
Dalam konfigurasi armada instans, Anda menentukan kapasitas target untuk On-Demand Instans dan Instans Spot dalam setiap armada. Saat klaster diluncurkan, Amazon EMR menyediakan instans hingga target terpenuhi. Saat Amazon EC2 mengklaim kembali Instans Spot di cluster yang sedang berjalan karena kenaikan harga atau kegagalan instans, Amazon EMR mencoba mengganti instance dengan salah satu jenis instans yang Anda tentukan. Hal ini memudahkan untuk mendapatkan kembali kapasitas selama lonjakan harga Spot.
Anda dapat menentukan maksimal lima jenis instans Amazon EC2 per armada untuk Amazon EMR untuk digunakan saat memenuhi target, atau maksimum 30 jenis instans Amazon EC2 per armada saat Anda membuat cluster menggunakan AWS CLI atau Amazon EMR API dan strategi alokasi untuk On-Demand dan Instans Spot.
Anda juga dapat memilih beberapa subnet untuk Availability Zone yang berbeda. Saat Amazon EMR meluncurkan klaster, ia mencari di seluruh subnet tersebut guna menemukan instans dan opsi pembelian yang Anda tentukan. Jika Amazon EMR mendeteksi peristiwa ber AWS skala besar di satu atau beberapa Zona Ketersediaan, Amazon EMR secara otomatis mencoba merutekan lalu lintas dari Zona Ketersediaan yang terkena dampak dan mencoba meluncurkan cluster baru yang Anda buat di Zona Ketersediaan alternatif sesuai dengan pilihan Anda. Perhatikan bahwa pemilihan Zona Ketersediaan cluster hanya terjadi pada pembuatan cluster. Node cluster yang ada tidak secara otomatis diluncurkan kembali di Zona Ketersediaan baru jika terjadi pemadaman Zona Ketersediaan.
Pertimbangan untuk bekerja dengan armada instans
Pertimbangkan item berikut saat Anda menggunakan armada instans dengan Amazon EMR.
-
Anda dapat memiliki satu armada instans, dan hanya satu, per jenis node (primer, inti, tugas). Anda dapat menentukan hingga lima jenis instans Amazon EC2 untuk setiap armada Konsol Manajemen AWS (atau maksimal 30 jenis per armada instans saat Anda membuat cluster menggunakan AWS CLI atau Amazon EMR API dan anStrategi alokasi untuk armada instans).
-
Amazon EMR memilih salah satu atau semua jenis instans Amazon EC2 yang ditentukan untuk disediakan dengan opsi Spot dan On-Demand pembelian.
-
Anda dapat menetapkan kapasitas target untuk Spot dan On-Demand Instans untuk armada inti dan armada tugas. Gunakan vCPU atau unit generik yang ditetapkan untuk setiap instans Amazon EC2 yang diperhitungkan untuk target. Amazon EMR menyediakan instans hingga setiap kapasitas target terpenuhi sepenuhnya. Untuk armada utama, targetnya selalu satu.
-
Anda dapat memilih satu subnet (Availability Zone) atau rentang. Jika Anda memilih rentang, Amazon EMR akan menyediakan kapasitas di Availability Zone yang paling sesuai.
-
Saat Anda menentukan kapasitas target untuk Instans Spot:
-
Untuk setiap jenis instans, tentukan harga Spot maksimum. Amazon EMR menyediakan Instans Spot jika harga Spot di bawah harga Spot maksimum. Anda tidak selalu membayar harga Spot dengan harga Spot maksimum.
-
Untuk setiap armada, tentukan periode batas waktu untuk menyediakan Instans Spot. Jika Amazon EMR tidak dapat menyediakan kapasitas Spot, Anda dapat menghentikan cluster atau beralih ke On-Demand kapasitas penyediaan sebagai gantinya. Ini hanya berlaku untuk klaster penyediaan, tidak mengubah ukurannya. Jika periode batas waktu berakhir selama proses pengubahan ukuran cluster, permintaan Spot yang tidak disediakan akan dibatalkan tanpa mentransfer ke kapasitas. On-Demand
-
-
Untuk setiap armada, Anda dapat menentukan salah satu strategi alokasi berikut untuk Instans Spot Anda: dioptimalkan kapasitas harga, dioptimalkan kapasitas, prioritas dioptimalkan kapasitas, harga terendah, atau terdiversifikasi di semua kumpulan.
-
Untuk setiap armada, Anda dapat menerapkan strategi alokasi berikut untuk On-Demand Instans Anda: strategi harga terendah atau strategi prioritas.
-
Untuk setiap armada dengan On-Demand Instans, Anda dapat memilih untuk menerapkan opsi reservasi kapasitas.
-
Jika Anda menggunakan strategi alokasi untuk armada contoh, pertimbangan berikut berlaku saat Anda memilih subnet untuk cluster EMR Anda:
Ketika Amazon EMR menyediakan cluster dengan armada tugas, ia menyaring subnet yang tidak memiliki cukup alamat IP yang tersedia untuk menyediakan semua instance cluster EMR yang diminta. Ini termasuk alamat IP yang diperlukan untuk armada instans primer, inti, dan tugas selama peluncuran cluster. Amazon EMR kemudian memanfaatkan strategi alokasinya untuk menentukan kumpulan instance, berdasarkan jenis instans dan subnet yang tersisa dengan alamat IP yang memadai, untuk meluncurkan cluster.
Jika Amazon EMR tidak dapat meluncurkan seluruh cluster karena alamat IP yang tersedia tidak mencukupi, Amazon EMR akan mencoba mengidentifikasi subnet dengan alamat IP gratis yang cukup untuk meluncurkan armada instans penting (inti dan primer). Dalam skenario seperti itu, armada instance tugas Anda akan masuk ke status ditangguhkan, alih-alih mengakhiri cluster dengan kesalahan.
Jika tidak ada subnet yang ditentukan berisi alamat IP yang cukup untuk menyediakan inti esensial dan armada instans primer, peluncuran cluster akan gagal dengan VALIDATION_ERROR. Ini memicu peristiwa penghentian cluster tingkat keparahan KRITIS, memberi tahu Anda bahwa cluster tidak dapat diluncurkan. Untuk mencegah masalah ini, sebaiknya tingkatkan jumlah alamat IP di subnet Anda.
Jika menjalankan em r-7.7.0 rilis Amazon EMR ke atas, dan menggunakan strategi alokasi untuk armada contoh, Anda dapat menskalakan cluster hingga 4000 instans EC2 dan 14.000 volume EBS per armada instans. Untuk versi rilis di bawah emr-7.7.0, cluster hanya dapat ditingkatkan hingga 2000 instans EC2 dan 7000 volume EBS per armada instans.
-
Saat meluncurkan On-Demand Instans, Anda dapat menggunakan reservasi kapasitas terbuka atau bertarget untuk node utama, inti, dan tugas di akun Anda. Anda mungkin melihat kapasitas yang tidak mencukupi dengan On-Demand Instans dengan strategi alokasi misalnya armada. Sebaiknya tentukan beberapa jenis instans untuk melakukan diversifikasi dan mengurangi kemungkinan mengalami kapasitas yang tidak mencukupi. Untuk informasi selengkapnya, lihat Menggunakan reservasi kapasitas dengan armada instans di Amazon EMR.
Opsi armada instans
Gunakan panduan berikut untuk memahami opsi armada instans.
Topik
Mengatur kapasitas target
Tentukan kapasitas target yang Anda inginkan untuk armada inti dan armada tugas. Jika Anda melakukannya, itu menentukan jumlah Instans dan On-Demand Instans Spot yang disediakan Amazon EMR. Saat Anda menentukan sebuah instans, Anda memutuskan berapa banyak setiap instans diperhitungkan terhadap target. Ketika On-Demand Instance disediakan, itu dihitung terhadap On-Demand target. Hal yang sama berlaku untuk Instans Spot. Tidak seperti armada inti dan tugas, armada utama selalu satu contoh. Oleh karena itu, target kapasitas armada ini selalu satu.
Saat Anda menggunakan konsol, vCPU jenis instans Amazon EC2 digunakan sebagai penghitungan kapasitas target secara default. Anda dapat mengubah ini ke Unit umum, lalu tentukan jumlah untuk setiap jenis instans EC2. Saat Anda menggunakan AWS CLI, Anda menetapkan unit generik secara manual untuk setiap jenis instans.
penting
Bila Anda memilih jenis instans menggunakan Konsol Manajemen AWS, jumlah vCPU yang ditampilkan untuk setiap jenis Instans adalah jumlah YARN vcore untuk jenis instans tersebut, bukan jumlah EC2 vCPU untuk jenis instans tersebut. Untuk informasi selengkapnya tentang jumlah vCPU untuk setiap tipe instans, lihat Tipe Instans Amazon EC2
Untuk setiap armada, Anda menentukan hingga lima jenis instans Amazon EC2. Jika Anda menggunakan Strategi alokasi untuk armada instans dan membuat cluster menggunakan AWS CLI atau Amazon EMR API, Anda dapat menentukan hingga 30 jenis instans EC2 per armada instans. Amazon EMR memilih kombinasi apa pun dari tipe instans EC2 ini untuk memenuhi kapasitas target Anda. Karena Amazon EMR ingin memenuhi kapasitas target sepenuhnya, kelebihan penggunaan dapat terjadi. Misalnya, jika ada dua unit yang tidak terpenuhi, dan Amazon EMR hanya dapat menyediakan instans dengan jumlah lima unit, instans tersebut masih mendapatkan penyediaan, artinya kapasitas target terlampaui tiga unit.
Jika Anda mengurangi kapasitas target untuk mengubah ukuran klaster yang sedang berjalan, Amazon EMR akan mencoba menyelesaikan tugas aplikasi dan mengakhiri instans untuk memenuhi target baru. Untuk informasi selengkapnya, lihat Akhiri pada penyelesaian tugas.
Opsi peluncuran
Untuk Instans Spot, Anda dapat menentukan Harga Spot maksimum untuk setiap tipe instans dalam armada. Anda dapat menetapkan harga ini sebagai persentase dari On-Demand harga, atau sebagai jumlah dolar tertentu. Amazon EMR menyediakan Instans Spot jika harga Spot saat ini di Availability Zone berada di bawah harga Spot maksimum Anda. Anda tidak selalu membayar harga Spot dengan harga Spot maksimum.
catatan
Instans Spot dengan durasi yang ditentukan (juga dikenal sebagai blok Spot) tidak lagi tersedia untuk pelanggan baru mulai 1 Juli 2021. Untuk pelanggan yang sebelumnya telah menggunakan fitur ini, kami akan terus mendukung Instans Spot dengan durasi yang ditentukan hingga 31 Desember 2022.
Tersedia di Amazon EMR 5.12.1 dan versi lebih baru, Anda memiliki opsi untuk meluncurkan armada Spot dan On-Demand Instance dengan alokasi kapasitas yang dioptimalkan. Opsi strategi alokasi ini dapat diatur di yang lama Konsol Manajemen AWS atau menggunakan APIRunJobFlow. Perhatikan bahwa Anda tidak dapat menyesuaikan strategi alokasi di konsol baru. Menggunakan opsi strategi alokasi memerlukan izin peran layanan tambahan. Jika Anda menggunakan peran layanan Amazon EMR default dan kebijakan terkelola (EMR_DefaultRoledanAmazonEMRServicePolicy_v2) untuk cluster, izin untuk opsi strategi alokasi sudah disertakan. Jika Anda tidak menggunakan peran layanan Amazon EMR default dan kebijakan terkelola, Anda harus menambahkannya untuk menggunakan opsi ini. Lihat Peran layanan untuk Amazon EMR (peran EMR).
Untuk informasi selengkapnya tentang Instans S pot, lihat Instans Spot di Panduan Pengguna Amazon EC2. Untuk informasi selengkapnya tentang On-Demand Instans, lihat On-Demand Inst ans di Panduan Pengguna Amazon EC2.
Jika Anda memilih untuk meluncurkan arm On-Demand ada Instans dengan strategi alokasi harga terendah, Anda memiliki opsi untuk menggunakan reservasi kapasitas. Opsi pencadangan kapasitas dapat diatur menggunakan API Amazon EMR RunJobFlow. Pencadangan kapasitas memerlukan izin peran layanan tambahan yang harus Anda tambahkan untuk menggunakan opsi ini. Lihat Izin strategi alokasi. Perhatikan bahwa Anda tidak dapat menyesuaikan reservasi kapasitas di konsol baru.
Beberapa opsi subnet (Availability Zone)
Saat menggunakan armada instans, Anda dapat menentukan beberapa subnet Amazon EC2 dalam VPC, masing-masing sesuai dengan Zona Ketersediaan yang berbeda. Jika Anda menggunakanEC2-Classic, Anda menentukan Zona Ketersediaan secara eksplisit. Amazon EMR mengidentifikasi Availability Zone terbaik untuk meluncurkan instans sesuai dengan spesifikasi armada Anda. Instans selalu disediakan hanya dalam satu Availability Zone. Anda dapat memilih subnet privat atau subnet publik, tetapi Anda tidak dapat menggabungkan keduanya, dan subnet yang Anda tentukan harus berada dalam VPC yang sama.
Konfigurasi simpul utama
Karena armada instans utama hanya satu instance, konfigurasinya sedikit berbeda dari armada instans inti dan task instance. Anda hanya memilih salah satu On-Demand atau Spot untuk armada instans utama karena hanya terdiri dari satu instance. Jika Anda menggunakan konsol untuk membuat armada instans, kapasitas target untuk opsi pembelian yang Anda pilih akan disetel ke 1. Jika Anda menggunakan AWS CLI, selalu atur salah satu TargetSpotCapacity atau TargetOnDemandCapacity ke 1 yang sesuai. Anda masih dapat memilih hingga lima jenis instans untuk armada instans utama (atau maksimal 30 jika Anda menggunakan opsi strategi alokasi untuk On-Demand atau Instans Spot). Namun, tidak seperti armada instans inti dan tugas, di mana Amazon EMR mungkin menyediakan beberapa instans dari jenis yang berbeda, Amazon EMR memilih satu jenis instans untuk disediakan untuk armada instans utama.
Strategi alokasi untuk armada instans
Dengan Amazon EMR versi 5.12.1 dan yang lebih baru, Anda dapat menggunakan opsi strategi alokasi dengan On-Demand dan Instans Spot untuk setiap node cluster. Saat membuat cluster menggunakan AWS CLI, Amazon EMR API, atau konsol Amazon EMR dengan strategi alokasi, Anda dapat menentukan hingga 30 jenis instans Amazon EC2 per armada. Dengan konfigurasi armada instans cluster Amazon EMR default, Anda dapat memiliki hingga 5 jenis instans per armada. Kami merekomendasikan Anda untuk menggunakan opsi strategi alokasi untuk penyediaan klaster yang lebih cepat, alokasi Instans Spot yang lebih akurat, dan gangguan Instans Spot yang lebih sedikit.
Topik
Strategi alokasi dengan On-Demand Instans
Strategi alokasi berikut tersedia untuk On-Demand Instans Anda:
lowest-price(default)Strategi alokasi harga terendah meluncurkan On-Demand instans dari kumpulan harga terendah yang memiliki kapasitas yang tersedia. Jika kumpulan dengan harga terendah tidak memiliki kapasitas yang tersedia, On-Demand Instans berasal dari kumpulan dengan harga terendah berikutnya dengan kapasitas yang tersedia.
prioritizedStrategi alokasi yang diprioritaskan memungkinkan Anda menentukan nilai prioritas untuk setiap jenis instans untuk armada instans Anda. Amazon EMR meluncurkan On-Demand Instans Anda yang memiliki prioritas tertinggi. Jika Anda menggunakan strategi ini, Anda harus mengonfigurasi prioritas untuk setidaknya satu jenis instans. Jika Anda tidak mengonfigurasi nilai prioritas untuk jenis instans, Amazon EMR menetapkan prioritas terendah untuk jenis instans tersebut. Setiap armada instans (primer, inti, atau tugas) dalam cluster dapat memiliki nilai prioritas yang berbeda untuk jenis instans tertentu.
catatan
Jika Anda menggunakan strategi alokasi Spot yang dioptimalkan dengan prioritas kapasitas, Amazon EMR menerapkan prioritas yang sama untuk Instans dan On-Demand instans Spot saat Anda menetapkan prioritas.
Strategi alokasi dengan Instans Spot
Untuk Inst ans Spot, Anda dapat memilih salah satu strategi alokasi berikut:
price-capacity-optimized(direkomendasikan)-
Strategi alokasi kapasitas harga yang dioptimalkan meluncurkan instans Spot dari kumpulan instans Spot yang memiliki kapasitas tertinggi yang tersedia dan harga terendah untuk jumlah instans yang diluncurkan. Akibatnya, strategi kapasitas harga yang dioptimalkan biasanya memiliki peluang lebih tinggi untuk mendapatkan kapasitas Spot, dan memberikan tingkat gangguan yang lebih rendah. Ini adalah strategi default untuk rilis Amazon EMR 6.10.0 dan lebih tinggi.
capacity-optimized-
Strategi alokasi yang dioptimalkan kapasitas meluncurkan Instans Spot ke kumpulan yang paling tersedia dengan kemungkinan gangguan terendah dalam waktu dekat. Ini adalah pilihan yang baik untuk beban kerja yang mungkin memiliki biaya interupsi yang lebih tinggi terkait dengan pekerjaan yang dimulai ulang. Ini adalah strategi default untuk rilis Amazon EMR 6.9.0 dan lebih rendah.
capacity-optimized-prioritized-
Strategi alokasi prioritas yang dioptimalkan kapasitas memungkinkan Anda menentukan nilai prioritas untuk setiap jenis instans dalam armada instans Anda. Amazon EMR mengoptimalkan kapasitas terlebih dahulu, tetapi menghormati prioritas jenis instans berdasarkan upaya terbaik, seperti jika prioritas tidak secara signifikan mempengaruhi kemampuan armada untuk menyediakan kapasitas optimal. Kami merekomendasikan opsi ini jika Anda memiliki beban kerja yang harus memiliki jumlah gangguan minimal yang masih memerlukan jenis instans tertentu. Jika Anda menggunakan strategi ini, Anda harus mengonfigurasi prioritas untuk setidaknya satu jenis instans. Jika Anda tidak mengonfigurasi prioritas untuk jenis instans apa pun, Amazon EMR menetapkan nilai prioritas terendah untuk jenis instans tersebut. Setiap armada instans (primer, inti, atau tugas) dalam cluster dapat memiliki nilai prioritas yang berbeda untuk jenis instans tertentu.
catatan
Jika Anda menggunakan strategi On-Demand alokasi yang diprioritaskan, Amazon EMR menerapkan nilai prioritas yang sama untuk Instans Anda On-Demand dan Instans Spot saat Anda menetapkan prioritas.
diversified-
Dengan strategi alokasi yang beragam, Amazon EC2 mendistribusikan Instans Spot di semua kumpulan kapasitas Spot.
lowest-price-
Strategi alokasi harga terendah meluncurkan Instans Spot dari kumpulan harga terendah yang memiliki kapasitas yang tersedia. Jika kumpulan dengan harga terendah tidak memiliki kapasitas yang tersedia, Instans Spot berasal dari kumpulan dengan harga terendah berikutnya yang memiliki kapasitas tersedia. Jika kumpulan kehabisan kapasitas sebelum memenuhi kapasitas yang Anda minta, armada Amazon EC2 mengambil dari kumpulan dengan harga terendah berikutnya untuk terus memenuhi permintaan Anda. Untuk memastikan bahwa kapasitas yang Anda inginkan terpenuhi, Anda mungkin menerima Instans Spot dari beberapa kolam. Karena strategi ini hanya mempertimbangkan harga instans, dan tidak mempertimbangkan ketersediaan kapasitas, strategi ini dapat menyebabkan tingkat gangguan yang tinggi.
Izin strategi alokasi
Opsi strategi alokasi memerlukan beberapa izin IAM yang secara otomatis disertakan dalam peran layanan Amazon EMR default dan kebijakan terkelola Amazon EMR (EMR_DefaultRoledan). AmazonEMRServicePolicy_v2 Jika Anda menggunakan peran layanan kustom atau kebijakan terkelola untuk klaster, Anda harus menambahkan izin ini sebelum membuat klaster. Untuk informasi selengkapnya, lihat Izin strategi alokasi.
Reservasi On-Demand Kapasitas Opsional (ODCR) tersedia saat Anda menggunakan opsi strategi On-Demand alokasi. Opsi pencadangan kapasitas memungkinkan Anda menentukan preferensi dalam menggunakan kapasitas yang dicadangkan terlebih dahulu untuk klaster Amazon EMR. Anda dapat menggunakan ini untuk memastikan bahwa beban kerja kritis Anda menggunakan kapasitas yang telah Anda cadangkan menggunakan ODCR terbuka atau tertarget. Untuk beban kerja yang non-kritis, preferensi pencadangan kapasitas memungkinkan Anda menentukan apakah kapasitas yang dicadangkan harus digunakan.
Pencandangan kapasitas hanya dapat digunakan oleh instans yang cocok dengan atributnya (tipe instans, platform, dan Availability Zone). Secara default, reservasi kapasitas terbuka secara otomatis digunakan oleh Amazon EMR saat menyediakan On-Demand Instans yang cocok dengan atribut instance. Jika Anda tidak memiliki instans berjalan yang cocok dengan atribut pencadangan kapasitas, instans tersebut tetap tidak digunakan hingga Anda meluncurkan instans yang cocok dengan atributnya. Jika Anda tidak ingin menggunakan pencadangan kapasitas apa pun saat meluncurkan klaster, Anda harus menyetel preferensi pencadangan kapasitas ke tidak ada dalam opsi peluncuran.
Namun, Anda juga dapat menargetkan pencadangan kapasitas untuk beban kerja tertentu. Ini memungkinkan Anda untuk secara eksplisit mengontrol instans mana yang diizinkan untuk berjalan dalam kapasitas yang dicadangkan itu. Untuk informasi selengkapnya tentang reservasi On-Demand kapasitas, lihatMenggunakan reservasi kapasitas dengan armada instans di Amazon EMR.
Izin IAM yang diperlukan untuk strategi alokasi
Anda Peran layanan untuk Amazon EMR (peran EMR) memerlukan izin tambahan untuk membuat cluster yang menggunakan opsi strategi alokasi untuk On-Demand atau armada Instans Spot.
Kami secara otomatis menyertakan izin ini dalam peran layanan Amazon EMR default EMR_DefaultRole dan kebijakan yang dikelola Amazon EMR. AmazonEMRServicePolicy_v2
Jika Anda menggunakan peran layanan kustom atau kebijakan terkelola untuk cluster Anda, Anda harus menambahkan izin berikut:
Izin peran layanan berikut diperlukan untuk membuat cluster yang menggunakan reservasi kapasitas terbuka atau bertarget. Anda harus menyertakan izin ini selain izin yang diperlukan untuk menggunakan opsi strategi alokasi.
contoh Dokumen kebijakan untuk pencadangan kapasitas peran layanan
Untuk menggunakan pencadangan kapasitas terbuka, Anda harus menyertakan izin tambahan berikut.
contoh
Untuk menggunakan pencadangan kapasitas yang ditargetkan, Anda harus menyertakan izin tambahan berikut.
Mengkonfigurasi armada instans untuk cluster Anda
Contoh: Membuat cluster dengan konfigurasi armada instans
Contoh berikut menunjukkan create-cluster perintah dengan berbagai opsi yang dapat Anda gabungkan.
catatan
Jika sebelumnya Anda belum membuat peran layanan Amazon EMR default dan profil instans EC2, gunakan aws emr create-default-roles untuk membuatnya sebelum menggunakan perintahcreate-cluster.
contoh Contoh: On-Demand primer, On-Demand inti dengan tipe instance tunggal, VPC Default
aws emr create-cluster --release-labelemr-5.3.1--service-role EMR_DefaultRole \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets \ InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge}']
contoh Contoh: Spot primer, Spot core dengan tipe instans tunggal, VPC default
aws emr create-cluster --release-label emr-5.3.1 --service-role EMR_DefaultRole \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets \ InstanceFleetType=MASTER,TargetSpotCapacity=1,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,BidPrice=0.5}'] \ InstanceFleetType=CORE,TargetSpotCapacity=1,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,BidPrice=0.5}']
contoh Contoh: inti On-Demand primer, campuran dengan tipe instans tunggal, subnet EC2 tunggal
aws emr create-cluster --release-label emr-5.3.1 --service-role EMR_DefaultRole \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,SubnetIds=['subnet-ab12345c'] \ --instance-fleets \ InstanceFleetType=MASTER,TargetOnDemandCapacity=1,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=2,TargetSpotCapacity=6,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,BidPrice=0.5,WeightedCapacity=2}']
contoh Contoh: inti On-Demand utama, spot dengan beberapa Jenis instans tertimbang, Batas Waktu untuk Spot, Rentang Subnets EC2
aws emr create-cluster --release-label emr-5.3.1 --service-role EMR_DefaultRole \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,SubnetIds=['subnet-ab12345c','subnet-de67890f'] \ --instance-fleets \ InstanceFleetType=MASTER,TargetOnDemandCapacity=1,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge}'] \ InstanceFleetType=CORE,TargetSpotCapacity=11,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,BidPrice=0.5,WeightedCapacity=3}',\ '{InstanceType=m4.2xlarge,BidPrice=0.9,WeightedCapacity=5}'],\ LaunchSpecifications={SpotSpecification='{TimeoutDurationMinutes=120,TimeoutAction=SWITCH_TO_ON_DEMAND}'}
contoh Contoh: inti On-Demand primer, campuran, dan tugas dengan beberapa jenis instans tertimbang, batas waktu untuk Instans Spot inti, rentang subnet EC2
aws emr create-cluster --release-label emr-5.3.1 --service-role EMR_DefaultRole \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,SubnetIds=['subnet-ab12345c','subnet-de67890f'] \ --instance-fleets \ InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=8,TargetSpotCapacity=6,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,BidPrice=0.5,WeightedCapacity=3}',\ '{InstanceType=m4.2xlarge,BidPrice=0.9,WeightedCapacity=5}'],\ LaunchSpecifications={SpotSpecification='{TimeoutDurationMinutes=120,TimeoutAction=SWITCH_TO_ON_DEMAND}'} \ InstanceFleetType=TASK,TargetOnDemandCapacity=3,TargetSpotCapacity=3,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,BidPrice=0.5,WeightedCapacity=3}']
contoh Contoh: Spot primer, tanpa inti atau tugas, konfigurasi Amazon EBS, VPC default
aws emr create-cluster --release-label Amazon EMR 5.3.1 --service-role EMR_DefaultRole \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets \ InstanceFleetType=MASTER,TargetSpotCapacity=1,\ LaunchSpecifications={SpotSpecification='{TimeoutDurationMinutes=60,TimeoutAction=TERMINATE_CLUSTER}'},\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,BidPrice=0.5,\ EbsConfiguration={EbsOptimized=true,EbsBlockDeviceConfigs=[{VolumeSpecification={VolumeType=gp2,\ SizeIn GB=100}},{VolumeSpecification={VolumeType=io1,SizeInGB=100,Iop s=100},VolumesPerInstance=4}]}}']
contoh Contoh: Beberapa AMI kustom, beberapa jenis instans, primer sesuai permintaan, inti sesuai permintaan
aws emr create-cluster --release-label Amazon EMR 5.3.1 --service-role EMR_DefaultRole \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets \ InstanceFleetType=MASTER,TargetOnDemandCapacity=1,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-123456},{InstanceType=m6g.xlarge, CustomAmiId=ami-234567}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=1,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-123456},{InstanceType=m6g.xlarge, CustomAmiId=ami-234567}']
contoh Contoh: Menambahkan node tugas ke cluster yang sedang berjalan dengan beberapa jenis instance dan beberapa AMI kustom
aws emr add-instance-fleet --cluster-id j-123456 --release-label Amazon EMR 5.3.1 \ --service-role EMR_DefaultRole \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleet \ InstanceFleetType=Task,TargetSpotCapacity=1,\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-123456}',\ '{InstanceType=m6g.xlarge,CustomAmiId=ami-234567}']
contoh Contoh: Gunakan file konfigurasi JSON
Anda dapat mengkonfigurasi parameter armada instans dalam file JSON, lalu mereferensikan file JSON sebagai parameter tunggal untuk armada instans. Misalnya, perintah berikut merujuk file konfigurasi JSON, :my-fleet-config.json
aws emr create-cluster --release-label emr-5.30.0 --service-role EMR_DefaultRole \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets file://my-fleet-config.json
my-fleet-config.jsonFile menentukan armada instance primer, inti, dan tugas seperti yang ditunjukkan pada contoh berikut. Armada instans inti menggunakan harga Spot maksimum (BidPrice) sebagai persentase On-Demand, sementara tugas dan armada instans utama menggunakan harga Spot maksimum (BidPriceAsPercentageofOnDemandPrice) sebagai string dalam USD.
[ { "Name": "Masterfleet", "InstanceFleetType": "MASTER", "TargetSpotCapacity": 1, "LaunchSpecifications": { "SpotSpecification": { "TimeoutDurationMinutes": 120, "TimeoutAction": "SWITCH_TO_ON_DEMAND" } }, "InstanceTypeConfigs": [ { "InstanceType": "m5.xlarge", "BidPrice": "0.89" } ] }, { "Name": "Corefleet", "InstanceFleetType": "CORE", "TargetSpotCapacity": 1, "TargetOnDemandCapacity": 1, "LaunchSpecifications": { "OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first", "CapacityReservationResourceGroupArn": "String" } }, "SpotSpecification": { "AllocationStrategy": "capacity-optimized", "TimeoutDurationMinutes": 120, "TimeoutAction": "TERMINATE_CLUSTER" } }, "InstanceTypeConfigs": [ { "InstanceType": "m5.xlarge", "BidPriceAsPercentageOfOnDemandPrice": 100 } ] }, { "Name": "Taskfleet", "InstanceFleetType": "TASK", "TargetSpotCapacity": 1, "LaunchSpecifications": { "OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "CapacityReservationPreference": "none" } }, "SpotSpecification": { "TimeoutDurationMinutes": 120, "TimeoutAction": "TERMINATE_CLUSTER" } }, "InstanceTypeConfigs": [ { "InstanceType": "m5.xlarge", "BidPrice": "0.89" } ] } ]
Ubah kapasitas target untuk armada instans
Gunakan perintah modify-instance-fleet untuk menentukan kapasitas target baru armada instans. Anda harus menentukan ID klaster dan ID armada instans. Gunakan perintah list-instance-fleets untuk mengambil ID armada instans.
aws emr modify-instance-fleet --cluster-id<cluster-id>\ --instance-fleet \ InstanceFleetId='<instance-fleet-id>',TargetOnDemandCapacity=1,TargetSpotCapacity=1
Tambahkan armada instans tugas ke klaster
Jika cluster hanya memiliki armada instans primer dan inti, Anda dapat menggunakan add-instance-fleet perintah untuk menambahkan armada instance tugas. Anda hanya dapat menggunakan ini untuk menambahkan armada instans tugas.
aws emr add-instance-fleet --cluster-id<cluster-id>--instance-fleet \ InstanceFleetType=TASK,TargetSpotCapacity=1,\ LaunchSpecifications={SpotSpecification='{TimeoutDurationMinutes=20,TimeoutAction=TERMINATE_CLUSTER}'},\ InstanceTypeConfigs=['{InstanceType=m5.xlarge,BidPrice=0.5}']
Dapatkan detail konfigurasi armada instans dalam sebuah klaster
Gunakan perintah list-instance-fleets untuk mendapatkan detail konfigurasi armada instans dalam sebuah klaster. Perintah mengambil ID klaster sebagai input. Contoh berikut menunjukkan perintah dan outputnya untuk cluster yang berisi grup instance tugas utama dan grup instance tugas inti. Untuk sintaks respons lengkap, lihat ListInstanceFleets di Referensi API Amazon EMR.
list-instance-fleets --cluster-id<cluster-id>
{ "InstanceFleets": [ { "Status": { "Timeline": { "ReadyDateTime": 1488759094.637, "CreationDateTime": 1488758719.817 }, "State": "RUNNING", "StateChangeReason": { "Message": "" } }, "ProvisionedSpotCapacity": 6, "Name": "CORE", "InstanceFleetType": "CORE", "LaunchSpecifications": { "SpotSpecification": { "TimeoutDurationMinutes": 60, "TimeoutAction": "TERMINATE_CLUSTER" } }, "ProvisionedOnDemandCapacity": 2, "InstanceTypeSpecifications": [ { "BidPrice": "0.5", "InstanceType": "m5.xlarge", "WeightedCapacity": 2 } ], "Id": "if-1ABC2DEFGHIJ3" }, { "Status": { "Timeline": { "ReadyDateTime": 1488759058.598, "CreationDateTime": 1488758719.811 }, "State": "RUNNING", "StateChangeReason": { "Message": "" } }, "ProvisionedSpotCapacity": 0, "Name": "MASTER", "InstanceFleetType": "MASTER", "ProvisionedOnDemandCapacity": 1, "InstanceTypeSpecifications": [ { "BidPriceAsPercentageOfOnDemandPrice": 100.0, "InstanceType": "m5.xlarge", "WeightedCapacity": 1 } ], "Id": "if-2ABC4DEFGHIJ4" } ] }