Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Integrasi Amazon EMR dengan grup penempatan EC2
Saat meluncurkan cluster node primer ganda Amazon EMR di Amazon EC2, Anda memiliki opsi untuk menggunakan strategi grup penempatan untuk menentukan bagaimana instans node utama digunakan untuk melindungi dari kegagalan perangkat keras.
Strategi grup penempatan didukung dimulai dengan Amazon EMR versi 5.23.0 sebagai opsi untuk beberapa cluster node utama. Saat ini, hanya tipe node primer yang didukung oleh strategi grup penempatan, dan SPREAD strategi diterapkan pada node utama tersebut. SPREADStrategi ini menempatkan sekelompok kecil instance di perangkat keras dasar yang terpisah untuk melindungi dari hilangnya beberapa node utama jika terjadi kegagalan perangkat keras. Perhatikan bahwa permintaan peluncuran instans dapat gagal jika perangkat keras unik tidak mencukupi untuk memenuhi permintaan tersebut. Untuk informasi lebih lanjut tentang strategi penempatan EC2 dan batasan, lihat Grup penempatan di Panduan Pengguna EC2 untuk Instans Linux.
Ada batas awal dari Amazon EC2 untuk 500 cluster berkemampuan strategi grup penempatan yang dapat diluncurkan per wilayah. AWS Hu AWS bungi dukungan untuk meminta peningkatan jumlah grup penempatan yang diizinkan. Anda dapat mengidentifikasi grup penempatan EC2 yang dibuat Amazon EMR dengan melacak pasangan nilai kunci yang dikaitkan Amazon EMR dengan strategi grup penempatan Amazon EMR. Untuk informasi selengkapnya tentang tag instans klaster EC2, lihat Melihat instans klaster di Amazon EC2.
Lampirkan kebijakan terkelola grup penempatan ke Amazon emrRole
Strategi grup penempatan memerlukan kebijakan terkelola yang disebutAmazonElasticMapReducePlacementGroupPolicy, yang memungkinkan Amazon EMR membuat, menghapus, dan menjelaskan grup penempatan di Amazon EC2. Anda harus melampirkan AmazonElasticMapReducePlacementGroupPolicy peran layanan untuk Amazon EMR sebelum meluncurkan cluster Amazon EMR dengan beberapa node utama.
Sebagai alternatif, Anda dapat melampirkan kebijakan terkel AmazonEMRServicePolicy_v2 ola ke peran layanan Amazon EMR alih-alih kebijakan yang dikelola grup penempatan. AmazonEMRServicePolicy_v2memungkinkan akses yang sama ke grup penempatan di Amazon EC2 seperti. AmazonElasticMapReducePlacementGroupPolicy Untuk informasi selengkapnya, lihat Peran layanan untuk Amazon EMR (peran EMR).
Kebijakan terkelola AmazonElasticMapReducePlacementGroupPolicy adalah teks JSON berikut yang dibuat dan dikelola oleh Amazon EMR.
Karena AmazonElasticMapReducePlacementGroupPolicy kebijakan terkelola diperbarui secara otomatis, kebijakan yang ditampilkan di sini mungkin kedaluwarsa. Gunakan Konsol AWS Manajemen untuk melihat kebijakan saat ini.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Resource": [
"*"
],
"Effect": "Allow",
"Action": [
"ec2:DeletePlacementGroup",
"ec2:DescribePlacementGroups"
],
"Sid": "AllowEC2Deleteplacementgroup"
},
{
"Resource": [
"arn:aws:ec2:*:*:placement-group/pg-*"
],
"Effect": "Allow",
"Action": [
"ec2:CreatePlacementGroup"
],
"Sid": "AllowEC2Createplacementgroup"
}
]
}
Luncurkan cluster Amazon EMR dengan beberapa node utama menggunakan strategi grup penempatan
Untuk meluncurkan cluster Amazon EMR yang memiliki beberapa node utama dengan strategi grup penempatan, lampirkan kebijakan yang dikelola grup penempatan AmazonElasticMapReducePlacementGroupPolicy ke peran Amazon EMR. Untuk informasi selengkapnya, lihat Lampirkan kebijakan terkelola grup penempatan ke Amazon emrRole.
Setiap kali Anda menggunakan peran ini untuk memulai cluster Amazon EMR dengan beberapa node utama, Amazon EMR mencoba meluncurkan cluster dengan SPREAD strategi yang diterapkan ke node utamanya. Jika Anda menggunakan peran yang tidak memiliki kebijakan pengelolaan grup penempatan yang dilamp AmazonElasticMapReducePlacementGroupPolicy irkan padanya, Amazon EMR akan mencoba meluncurkan cluster Amazon EMR yang memiliki beberapa node utama tanpa strategi grup penempatan.
Jika Anda meluncurkan cluster Amazon EMR yang memiliki beberapa node utama dengan placement-group-configs parameter menggunakan Amazon EMRAPI atau CLI, Amazon EMR hanya meluncurkan cluster jika Amazon emrRole memiliki kebijakan terkelola grup penempatan yang dilampirkan. AmazonElasticMapReducePlacementGroupPolicy Jika Amazon emrRole tidak memiliki kebijakan yang dilampirkan, cluster Amazon EMR dengan beberapa node utama mulai gagal.
- Amazon EMR API
-
contoh Contoh — Gunakan strategi grup penempatan untuk meluncurkan cluster grup instans dengan beberapa node utama dari Amazon EMR API
Saat Anda menggunakan RunJobFlow tindakan untuk membuat cluster Amazon EMR dengan beberapa node utama, setel PlacementGroupConfigs properti ke berikut ini. Saat ini, MASTER peran instans secara otomatis menggunakan SPREAD sebagai strategi grup penempatan.
{
"Name":"ha-cluster",
"PlacementGroupConfigs":[
{
"InstanceRole":"MASTER"
}
],
"ReleaseLabel": emr-6.15.0,
"Instances":{
"ec2SubnetId":"subnet-22XXXX01",
"ec2KeyName":"ec2_key_pair_name",
"InstanceGroups":[
{
"InstanceCount":3,
"InstanceRole":"MASTER",
"InstanceType":"m5.xlarge"
},
{
"InstanceCount":4,
"InstanceRole":"CORE",
"InstanceType":"m5.xlarge"
}
]
},
"JobFlowRole":"EMR_EC2_DefaultRole",
"ServiceRole":"EMR_DefaultRole"
}
-
Ganti ha-cluster dengan nama cluster ketersediaan tinggi Anda.
-
Ganti subnet-22XXXX01 dengan ID subnet Anda.
-
Ganti ec2_key_pair_name dengan nama pasangan kunci EC2 Anda untuk cluster ini. Pasangan kunci EC2 bersifat opsional dan hanya diperlukan jika Anda ingin menggunakan SSH untuk mengakses klaster Anda.
- AWS CLI
-
contoh Contoh — Gunakan strategi grup penempatan untuk meluncurkan cluster armada instans dengan beberapa node utama dari AWS Command Line Interface
Saat Anda menggunakan RunJobFlow tindakan untuk membuat cluster Amazon EMR dengan beberapa node utama, setel PlacementGroupConfigs properti ke berikut ini. Saat ini, MASTER peran instans secara otomatis menggunakan SPREAD sebagai strategi grup penempatan.
aws emr create-cluster \
--name "ha-cluster" \
--placement-group-configs InstanceRole=MASTER \
--release-label emr-6.15.0 \
--instance-fleets '[
{
"InstanceFleetType": "MASTER",
"TargetOnDemandCapacity": 3,
"TargetSpotCapacity": 0,
"LaunchSpecifications": {
"OnDemandSpecification": {
"AllocationStrategy": "lowest-price"
}
},
"InstanceTypeConfigs": [
{
"WeightedCapacity": 1,
"BidPriceAsPercentageOfOnDemandPrice": 100,
"InstanceType": "m5.xlarge"
},
{
"WeightedCapacity": 1,
"BidPriceAsPercentageOfOnDemandPrice": 100,
"InstanceType": "m5.2xlarge"
},
{
"WeightedCapacity": 1,
"BidPriceAsPercentageOfOnDemandPrice": 100,
"InstanceType": "m5.4xlarge"
}
],
"Name": "Master - 1"
},
{
"InstanceFleetType": "CORE",
"TargetOnDemandCapacity": 5,
"TargetSpotCapacity": 0,
"LaunchSpecifications": {
"OnDemandSpecification": {
"AllocationStrategy": "lowest-price"
}
},
"InstanceTypeConfigs": [
{
"WeightedCapacity": 1,
"BidPriceAsPercentageOfOnDemandPrice": 100,
"InstanceType": "m5.xlarge"
},
{
"WeightedCapacity": 2,
"BidPriceAsPercentageOfOnDemandPrice": 100,
"InstanceType": "m5.2xlarge"
},
{
"WeightedCapacity": 4,
"BidPriceAsPercentageOfOnDemandPrice": 100,
"InstanceType": "m5.4xlarge"
}
],
"Name": "Core - 2"
}
]' \
--ec2-attributes '{
"KeyName": "ec2_key_pair_name",
"InstanceProfile": "EMR_EC2_DefaultRole",
"SubnetIds": [
"subnet-22XXXX01",
"subnet-22XXXX02"
]
}' \
--service-role EMR_DefaultRole \
--applications Name=Hadoop Name=Spark
-
Ganti ha-cluster dengan nama cluster ketersediaan tinggi Anda.
-
Ganti ec2_key_pair_name dengan nama pasangan kunci EC2 Anda untuk cluster ini. Pasangan kunci EC2 bersifat opsional dan hanya diperlukan jika Anda ingin menggunakan SSH untuk mengakses klaster Anda.
-
Ganti subnet-22XXXX01 dan subnet-22XXXX02 dengan ID subnet Anda.
Luncurkan cluster dengan beberapa node utama tanpa strategi grup penempatan
Untuk cluster dengan beberapa node utama untuk meluncurkan node utama tanpa strategi grup penempatan, Anda perlu melakukan salah satu hal berikut:
-
Hapus kebijakan terkelola grup penempatan AmazonElasticMapReducePlacementGroupPolicy dari Amazon emrRole, atau
-
Luncurkan cluster dengan beberapa node utama dengan placement-group-configs parameter menggunakan Amazon EMRAPI atau CLI yang dipilih NONE sebagai strategi grup penempatan.
- Amazon EMR API
-
contoh— Meluncurkan cluster dengan beberapa node utama tanpa strategi grup penempatan menggunakan Amazon EMRAPI.
Saat menggunakan RunJobFlow tindakan untuk membuat cluster dengan beberapa node utama, atur PlacementGroupConfigs properti ke berikut ini.
{
"Name":"ha-cluster",
"PlacementGroupConfigs":[
{
"InstanceRole":"MASTER",
"PlacementStrategy":"NONE"
}
],
"ReleaseLabel":"emr-5.30.1",
"Instances":{
"ec2SubnetId":"subnet-22XXXX01",
"ec2KeyName":"ec2_key_pair_name",
"InstanceGroups":[
{
"InstanceCount":3,
"InstanceRole":"MASTER",
"InstanceType":"m5.xlarge"
},
{
"InstanceCount":4,
"InstanceRole":"CORE",
"InstanceType":"m5.xlarge"
}
]
},
"JobFlowRole":"EMR_EC2_DefaultRole",
"ServiceRole":"EMR_DefaultRole"
}
-
Ganti ha-cluster dengan nama cluster ketersediaan tinggi Anda.
-
Ganti subnet-22XXXX01 dengan ID subnet Anda.
-
Ganti ec2_key_pair_name dengan nama pasangan kunci EC2 Anda untuk cluster ini. Pasangan kunci EC2 bersifat opsional dan hanya diperlukan jika Anda ingin menggunakan SSH untuk mengakses klaster Anda.
- Amazon EMR CLI
-
contoh— Meluncurkan cluster dengan beberapa node utama tanpa strategi grup penempatan menggunakan Amazon EMRCLI.
Saat menggunakan RunJobFlow tindakan untuk membuat cluster dengan beberapa node utama, atur PlacementGroupConfigs properti ke berikut ini.
aws emr create-cluster \
--name "ha-cluster" \
--placement-group-configs InstanceRole=MASTER,PlacementStrategy=NONE \
--release-label emr-5.30.1 \
--instance-groups InstanceGroupType=MASTER,InstanceCount=3,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=4,InstanceType=m5.xlarge \
--ec2-attributes KeyName=ec2_key_pair_name,InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-22XXXX01 \
--service-role EMR_DefaultRole \
--applications Name=Hadoop Name=Spark
-
Ganti ha-cluster dengan nama cluster ketersediaan tinggi Anda.
-
Ganti subnet-22XXXX01 dengan ID subnet Anda.
-
Ganti ec2_key_pair_name dengan nama pasangan kunci EC2 Anda untuk cluster ini. Pasangan kunci EC2 bersifat opsional dan hanya diperlukan jika Anda ingin menggunakan SSH untuk mengakses klaster Anda.
Memeriksa konfigurasi strategi grup penempatan yang dilampirkan ke cluster dengan beberapa node utama
Anda dapat menggunakan Amazon EMR description cluster API untuk melihat konfigurasi strategi grup penempatan yang dilampirkan ke cluster dengan beberapa node utama.
contoh
aws emr describe-cluster --cluster-id "j-xxxxx"
{
"Cluster":{
"Id":"j-xxxxx",
...
...
"PlacementGroups":[
{
"InstanceRole":"MASTER",
"PlacementStrategy":"SPREAD"
}
]
}
}