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 klaster Amazon EMR
catatan
Konfigurasi armada instance 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 EMR klaster Amazon memungkinkan Anda memilih berbagai opsi penyediaan untuk EC2 instans Amazon, dan membantu Anda mengembangkan strategi sumber daya yang fleksibel dan elastis untuk setiap jenis node di cluster Anda.
Dalam konfigurasi armada instans, tentukan Kapasitas targetuntuk Instans Sesuai Permintaan dan Instans Spot dalam setiap armada. Saat klaster diluncurkan, Amazon EMR menyediakan instance hingga target terpenuhi. Saat Amazon EC2 merebut kembali Instans Spot di klaster yang sedang berjalan karena kenaikan harga atau kegagalan instans, Amazon EMR mencoba mengganti instance dengan jenis instans apa pun yang Anda tentukan. Hal ini memudahkan untuk mendapatkan kembali kapasitas selama lonjakan harga Spot.
Anda dapat menentukan maksimal lima jenis EC2 instans Amazon per armada EMR untuk digunakan Amazon saat memenuhi target, atau maksimal 30 jenis EC2 instans Amazon per armada saat Anda membuat klaster menggunakan AWS CLI atau Amazon EMR API dan strategi alokasi untuk Instans Sesuai Permintaan dan Spot.
Anda juga dapat memilih beberapa subnet untuk Availability Zone yang berbeda. Saat Amazon EMR meluncurkan cluster, ia melihat subnet tersebut untuk menemukan instance dan opsi pembelian yang Anda tentukan. Jika Amazon EMR mendeteksi peristiwa AWS skala besar di satu atau beberapa Availability Zone, Amazon EMR secara otomatis mencoba merutekan lalu lintas dari Availability Zone yang terkena dampak dan mencoba meluncurkan cluster baru yang Anda buat di Availability Zone alternatif sesuai dengan pilihan Anda. Perhatikan bahwa pemilihan Zona Ketersediaan klaster hanya terjadi pada pembuatan klaster. Node cluster yang ada tidak secara otomatis diluncurkan kembali di Availability Zone baru jika terjadi pemadaman Availability Zone.
Pertimbangan untuk bekerja dengan armada instance
Pertimbangkan item berikut saat Anda menggunakan armada instance dengan AmazonEMR.
-
Anda dapat memiliki satu armada instance, dan hanya satu, per tipe node (primer, inti, tugas). Anda dapat menentukan hingga lima jenis EC2 instans Amazon untuk setiap armada di AWS Management Console (atau maksimal 30 jenis per armada instans saat membuat klaster menggunakan AWS CLI atau Amazon EMR API dan anStrategi alokasi untuk armada instans).
-
Amazon EMR memilih salah satu atau semua jenis EC2 instans Amazon yang ditentukan untuk disediakan dengan opsi pembelian Spot dan Sesuai Permintaan.
-
Anda dapat menetapkan kapasitas target bagi Instans Spot dan Sesuai Permintaan untuk armada inti dan armada tugas. Gunakan v CPU atau unit generik yang ditetapkan untuk setiap EC2 instans Amazon yang diperhitungkan terhadap target. Amazon EMR menyediakan instance sampai setiap kapasitas target benar-benar terpenuhi. Untuk armada utama, targetnya selalu satu.
-
Anda dapat memilih satu subnet (Availability Zone) atau rentang. Jika Anda memilih rentang, Amazon menyediakan EMR kapasitas di Availability Zone yang paling cocok.
-
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 tidak EMR dapat menyediakan kapasitas Spot, Anda dapat menghentikan klaster atau beralih ke penyediaan kapasitas Sesuai Permintaan. Ini hanya berlaku untuk penyediaan cluster, bukan mengubah ukurannya. Jika periode batas waktu berakhir selama proses pengubahan ukuran klaster, permintaan Spot yang tidak tersedia akan dibatalkan tanpa mentransfer ke kapasitas Sesuai Permintaan.
-
-
Untuk setiap armada, Anda dapat menentukan salah satu strategi alokasi berikut untuk Instans Spot Anda: kapasitas harga yang dioptimalkan, dioptimalkan kapasitas,, harga terendah, atau terdiversifikasi di capacity-optimized-prioritized semua kumpulan.
-
Untuk setiap armada, Anda dapat menerapkan strategi alokasi berikut untuk Instans Sesuai Permintaan Anda: strategi harga terendah atau strategi yang diprioritaskan.
-
Untuk setiap armada dengan Instans Sesuai Permintaan, Anda dapat memilih untuk menerapkan opsi reservasi kapasitas.
-
Jika Anda menggunakan strategi alokasi misalnya armada, pertimbangan berikut berlaku saat Anda memilih subnet untuk klaster Anda: EMR
Saat Amazon EMR menyediakan kluster dengan armada tugas, Amazon memfilter subnet yang tidak memiliki cukup alamat IP yang tersedia untuk menyediakan semua instance klaster yang dimintaEMR. Ini termasuk alamat IP yang diperlukan untuk armada instance primer, inti, dan tugas selama peluncuran cluster. Amazon EMR kemudian memanfaatkan strategi alokasi untuk menentukan kumpulan instans, berdasarkan jenis instans dan subnet yang tersisa dengan alamat IP yang cukup, untuk meluncurkan cluster.
Jika Amazon EMR tidak dapat meluncurkan seluruh cluster karena alamat IP yang tersedia tidak mencukupi, Amazon 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, daripada mengakhiri cluster dengan kesalahan.
Jika tidak ada subnet yang ditentukan berisi alamat IP yang cukup untuk menyediakan inti penting dan armada instance utama, peluncuran cluster akan gagal dengan VALIDATION _. ERROR Ini memicu peristiwa penghentian klaster CRITICALtingkat keparahan, memberi tahu Anda bahwa klaster tidak dapat diluncurkan. Untuk mencegah masalah ini, kami sarankan untuk meningkatkan jumlah alamat IP di subnet Anda.
-
Saat meluncurkan Instans Sesuai Permintaan, Anda dapat menggunakan reservasi kapasitas terbuka atau bertarget untuk node primer, inti, dan tugas di akun Anda. Anda mungkin melihat kapasitas yang tidak mencukupi dengan Instans Sesuai Permintaan dengan strategi alokasi misalnya armada. Kami menyarankan Anda menentukan beberapa jenis instans untuk diversifikasi dan mengurangi kemungkinan mengalami kapasitas yang tidak mencukupi. Untuk informasi selengkapnya, lihat Gunakan reservasi kapasitas dengan armada instans di Amazon EMR.
Opsi armada instans
Gunakan panduan berikut untuk memahami opsi armada instans.
Topik
Menetapkan kapasitas target
Tentukan kapasitas target yang Anda inginkan untuk armada inti dan armada tugas. Ketika Anda melakukannya, itu menentukan jumlah Instans Sesuai Permintaan dan Instans Spot yang disediakan Amazon. EMR Saat Anda menentukan sebuah instans, Anda memutuskan berapa banyak setiap instans diperhitungkan terhadap target. Saat Instans Sesuai Permintaan disediakan, ia diperhitungkan dalam target Sesuai Permintaan. 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, jenis EC2 instans Amazon digunakan sebagai hitungan kapasitas target secara default. vCPUs Anda dapat mengubah ini ke unit Generik, dan kemudian menentukan hitungan untuk setiap jenis EC2 instance. Bila Anda menggunakan AWS CLI, Anda secara manual menetapkan unit generik untuk setiap jenis instance.
penting
Saat Anda memilih jenis instance menggunakan AWS Management Console, jumlah v yang CPU ditampilkan untuk setiap jenis Instance adalah jumlah YARN vcore untuk jenis instance tersebut, bukan jumlah EC2 vCPUs untuk jenis instance tersebut. Untuk informasi selengkapnya tentang jumlah vCPUs untuk setiap jenis instans, lihat Jenis EC2 Instance Amazon
Untuk setiap armada, Anda menentukan hingga lima jenis EC2 instans Amazon. Jika Anda menggunakan Strategi alokasi untuk armada instans dan membuat klaster menggunakan AWS CLI atau Amazon EMRAPI, Anda dapat menentukan hingga 30 jenis EC2 instans per armada instans. Amazon EMR memilih kombinasi jenis EC2 instans ini untuk memenuhi kapasitas target Anda. Karena Amazon EMR ingin mengisi kapasitas target sepenuhnya, kelebihan mungkin terjadi. Misalnya, jika ada dua unit yang tidak terpenuhi, dan Amazon hanya EMR dapat menyediakan instance dengan hitungan lima unit, instance masih akan disediakan, artinya kapasitas target terlampaui tiga unit.
Jika Anda mengurangi kapasitas target untuk mengubah ukuran klaster yang sedang berjalan, Amazon EMR mencoba menyelesaikan tugas aplikasi dan menghentikan instance 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 harga Sesuai Permintaan, atau sebagai jumlah dolar tertentu. Amazon menyediakan EMR 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 Instans Spot dan Sesuai Permintaan dengan alokasi kapasitas yang dioptimalkan. Opsi strategi alokasi ini dapat diatur dalam yang lama AWS Management Console atau menggunakan. API RunJobFlow
Perhatikan bahwa Anda tidak dapat menyesuaikan strategi alokasi di konsol baru. Menggunakan opsi strategi alokasi memerlukan izin peran layanan tambahan. Jika Anda menggunakan peran EMR layanan Amazon default dan kebijakan terkelola (EMR_DefaultRoledanAmazonEMRServicePolicy_v2
) untuk klaster, izin untuk opsi strategi alokasi sudah disertakan. Jika Anda tidak menggunakan peran EMR layanan Amazon default dan kebijakan terkelola, Anda harus menambahkannya untuk menggunakan opsi ini. Lihat Peran layanan untuk Amazon EMR (EMRperan).
Untuk informasi selengkapnya tentang Instans Spot, lihat Instans Spot di EC2 Panduan Pengguna Amazon. Untuk informasi selengkapnya tentang Instans Sesuai Permintaan, lihat Instans Sesuai Permintaan di Panduan Pengguna Amazon. EC2
Jika Anda memilih untuk meluncurkan armada Instans Sesuai Permintaan dengan strategi alokasi harga terendah, Anda memiliki opsi untuk menggunakan pencadangan kapasitas. Opsi reservasi kapasitas dapat diatur menggunakan Amazon EMR APIRunJobFlow
. 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 Zones)
Bila Anda menggunakan armada instance, Anda dapat menentukan beberapa EC2 subnet Amazon dalam satuVPC, masing-masing terkait dengan Availability Zone yang berbeda. Jika Anda menggunakan EC2 -Classic, Anda menentukan Availability Zones 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 pribadi atau subnet publik, tetapi Anda tidak dapat mencampur keduanya, dan subnet yang Anda tentukan harus berada dalam yang sama. VPC
Konfigurasi simpul master
Karena armada instance utama hanya satu instance, konfigurasinya sedikit berbeda dari armada instance inti dan tugas. Anda hanya memilih 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 saat Anda menggunakan opsi strategi alokasi untuk Instans On-Demand atau Spot). Namun, tidak seperti armada instance inti dan tugas, di mana Amazon EMR mungkin menyediakan beberapa instance dari tipe yang berbeda, Amazon EMR memilih satu jenis instance 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 Instans Sesuai Permintaan dan Spot untuk setiap node cluster. Saat membuat klaster menggunakan EMR konsol AWS CLI, Amazon EMRAPI, atau Amazon dengan strategi alokasi, Anda dapat menentukan hingga 30 jenis EC2 instans Amazon per armada. Dengan konfigurasi armada instans EMR klaster Amazon 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 Instans Sesuai Permintaan
Strategi alokasi berikut tersedia untuk Instans Sesuai Permintaan Anda:
lowest-price
(default)Strategi alokasi harga terendah meluncurkan instans On-Demand dari kumpulan harga terendah yang memiliki kapasitas yang tersedia. Jika kolam dengan harga terendah tidak memiliki kapasitas yang tersedia, Instans Sesuai Permintaan berasal dari kolam dengan harga terendah berikutnya dengan kapasitas yang tersedia.
prioritized
Strategi alokasi yang diprioritaskan memungkinkan Anda menentukan nilai prioritas untuk setiap jenis instans untuk armada instans Anda. Amazon EMR meluncurkan Instans Sesuai Permintaan Anda yang memiliki prioritas tertinggi. Jika Anda menggunakan strategi ini, Anda harus mengonfigurasi prioritas untuk setidaknya satu jenis instance. Jika Anda tidak mengonfigurasi nilai prioritas untuk jenis instans, Amazon EMR menetapkan prioritas terendah untuk jenis instance tersebut. Setiap armada instance (primer, inti, atau tugas) dalam sebuah cluster dapat memiliki nilai prioritas yang berbeda untuk jenis instance tertentu.
catatan
Jika Anda menggunakan strategi alokasi capacity-optimized-prioritizedSpot, Amazon EMR menerapkan prioritas yang sama untuk Instans Sesuai Permintaan dan instans Spot saat Anda menetapkan prioritas.
Strategi alokasi dengan Instans Spot
Untuk Instans Spot, Anda dapat memilih salah satu strategi alokasi berikut:
price-capacity-optimized
(direkomendasikan)-
Strategi alokasi yang dioptimalkan dengan kapasitas harga meluncurkan instans Spot dari kumpulan instans Spot yang memiliki kapasitas tertinggi yang tersedia dan harga terendah untuk jumlah instans yang diluncurkan. Akibatnya, strategi yang dioptimalkan dengan kapasitas harga biasanya memiliki peluang lebih tinggi untuk mendapatkan kapasitas Spot, dan memberikan tingkat interupsi yang lebih rendah. Ini adalah strategi default untuk rilis Amazon 6.10.0 dan lebih tinggi. EMR
capacity-optimized
-
Strategi alokasi yang dioptimalkan kapasitas meluncurkan Instans Spot ke dalam kumpulan yang paling tersedia dengan peluang interupsi 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 Amazon EMR merilis 6.9.0 dan lebih rendah.
capacity-optimized-prioritized
-
Strategi capacity-optimized-prioritized alokasi memungkinkan Anda menentukan nilai prioritas untuk setiap jenis instans dalam armada instans Anda. Amazon EMR mengoptimalkan kapasitas terlebih dahulu, tetapi ia menghormati prioritas tipe instans dengan 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 membutuhkan jenis instance tertentu. Jika Anda menggunakan strategi ini, Anda harus mengonfigurasi prioritas untuk setidaknya satu jenis instance. Jika Anda tidak mengonfigurasi prioritas untuk jenis instans apa pun, Amazon EMR menetapkan nilai prioritas terendah untuk jenis instance tersebut. Setiap armada instance (primer, inti, atau tugas) dalam sebuah cluster dapat memiliki nilai prioritas yang berbeda untuk jenis instance tertentu.
catatan
Jika Anda menggunakan strategi alokasi Sesuai Permintaan yang diprioritaskan, Amazon EMR menerapkan nilai prioritas yang sama untuk Instans Sesuai Permintaan dan 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 kolam dengan harga terendah tidak memiliki kapasitas yang tersedia, Instans Spot berasal dari kolam dengan harga terendah berikutnya yang memiliki kapasitas yang tersedia. Jika kolam kehabisan kapasitas sebelum memenuhi kapasitas yang Anda minta, EC2 armada Amazon menarik dari kolam 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, hal itu dapat menyebabkan tingkat interupsi yang tinggi.
Izin strategi alokasi
Opsi strategi alokasi memerlukan beberapa IAM izin yang secara otomatis disertakan dalam peran EMR layanan Amazon default dan kebijakan EMR terkelola Amazon (EMR_DefaultRole
danAmazonEMRServicePolicy_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 Kapasitas Sesuai Permintaan (ODCRs) opsional tersedia saat Anda menggunakan opsi strategi alokasi Sesuai Permintaan. Opsi reservasi kapasitas memungkinkan Anda menentukan preferensi untuk menggunakan kapasitas cadangan terlebih dahulu untuk EMR klaster Amazon. Anda dapat menggunakan ini untuk memastikan bahwa beban kerja kritis Anda menggunakan kapasitas yang telah Anda pesan menggunakan terbuka atau ditargetkanODCRs. 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 Instans Sesuai Permintaan 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 kapasitas Sesuai Permintaan, lihat. Gunakan reservasi kapasitas dengan armada instans di Amazon EMR
IAMIzin yang diperlukan untuk strategi alokasi
Peran layanan untuk Amazon EMR (EMRperan) Anda memerlukan izin tambahan guna membuat cluster yang menggunakan opsi strategi alokasi untuk armada Instans Sesuai Permintaan atau Spot.
Kami secara otomatis menyertakan izin ini dalam peran EMR layanan Amazon default EMR_DefaultRoledan kebijakan EMR AmazonEMRServicePolicy_v2terkelola Amazon.
Jika Anda menggunakan peran layanan kustom atau kebijakan terkelola untuk klaster, Anda harus menambahkan izin berikut:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DeleteLaunchTemplate", "ec2:CreateLaunchTemplate", "ec2:DescribeLaunchTemplates", "ec2:CreateLaunchTemplateVersion", "ec2:CreateFleet" ], "Resource": "*" } }
Izin peran layanan berikut diperlukan untuk membuat klaster 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.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeCapacityReservations", "ec2:DescribeLaunchTemplateVersions", "ec2:DeleteLaunchTemplateVersions" ], "Resource": "*" } ] }
Untuk menggunakan pencadangan kapasitas yang ditargetkan, Anda harus menyertakan izin tambahan berikut.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeCapacityReservations", "ec2:DescribeLaunchTemplateVersions", "ec2:DeleteLaunchTemplateVersions", "resource-groups:ListGroupResources" ], "Resource": "*" } ] }
Konfigurasikan armada instance untuk klaster Anda
Contoh: Membuat cluster dengan konfigurasi armada instance
Contoh berikut menunjukkan create-cluster
perintah dengan berbagai opsi yang dapat Anda gabungkan.
catatan
Jika sebelumnya Anda belum membuat peran EMR layanan Amazon default dan profil EC2 instance, gunakan aws emr create-default-roles
untuk membuatnya sebelum menggunakan create-cluster
perintah.
contoh Contoh: Primer On-Demand, inti On-Demand dengan tipe instans tunggal, Default VPC
aws emr create-cluster --release-label
emr-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 instance tunggal, default VPC
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: Primer On-Demand, inti campuran dengan tipe instans tunggal, subnet tunggal EC2
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: Primer On-Demand, inti spot dengan beberapa Jenis instans tertimbang, Timeout untuk Spot, 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,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: Primer On-Demand, inti 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 utama, tidak ada inti atau tugas, EBS konfigurasi Amazon, default VPC
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 kustomAMIs, 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: Tambahkan node tugas ke cluster yang sedang berjalan dengan beberapa jenis instance dan beberapa kustom AMIs
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 JSON konfigurasi
Anda dapat mengonfigurasi parameter armada instance dalam sebuah JSON file, dan kemudian mereferensikan JSON file tersebut sebagai satu-satunya parameter untuk armada instance. Misalnya, perintah berikut mereferensikan file JSON konfigurasi,
: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
Bagian my-fleet-config.json
file menentukan armada primer, inti, dan instance tugas seperti yang ditunjukkan pada contoh berikut. Armada instance inti menggunakan harga Spot maksimum (BidPrice
) sebagai persentase On-Demand, sedangkan armada tugas dan instance utama menggunakan harga Spot maksimum (BidPriceAsPercentageofOnDemandPrice) sebagai string in. 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 list-instance-fleets
perintah untuk mengambil armada IDs instance.
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 instance 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 ListInstanceFleetsdi EMRAPIReferensi Amazon.
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" } ] }