EMRIntegrasi Amazon dengan grup EC2 penempatan - Amazon EMR

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

EMRIntegrasi Amazon dengan grup EC2 penempatan

Saat meluncurkan EMR beberapa kluster node primer Amazon di AmazonEC2, Anda memiliki opsi untuk menggunakan strategi grup penempatan untuk menentukan bagaimana Anda ingin instance 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 primer tersebut. SPREADStrategi ini menempatkan sekelompok kecil instance di perangkat keras dasar yang terpisah untuk mencegah hilangnya beberapa node primer jika terjadi kegagalan perangkat keras. Perhatikan bahwa permintaan peluncuran instans dapat gagal jika perangkat keras unik tidak mencukupi untuk memenuhi permintaan tersebut. Untuk informasi selengkapnya tentang strategi dan batasan EC2 penempatan, lihat Grup penempatan di Panduan EC2 Pengguna untuk Instans Linux.

Ada batas awal dari Amazon EC2 dari 500 cluster yang mendukung strategi grup penempatan yang dapat diluncurkan per wilayah. AWS Hubungi AWS dukungan untuk meminta peningkatan jumlah grup penempatan yang diizinkan. Anda dapat mengidentifikasi grup EC2 penempatan yang EMR dibuat Amazon dengan melacak pasangan nilai kunci yang EMR dikaitkan Amazon dengan strategi grup EMR penempatan Amazon. Untuk informasi selengkapnya tentang tag instance EC2 cluster, lihatLihat instance klaster di Amazon EC2.

Melampirkan kebijakan terkelola grup penempatan ke Amazon EMRrole

Strategi grup penempatan memerlukan kebijakan terkelola yang disebutAmazonElasticMapReducePlacementGroupPolicy, yang EMR memungkinkan Amazon membuat, menghapus, dan menjelaskan grup penempatan di AmazonEC2. Anda harus melampirkan AmazonElasticMapReducePlacementGroupPolicy ke peran layanan untuk Amazon EMR sebelum meluncurkan EMR klaster Amazon dengan beberapa node utama.

Anda juga dapat melampirkan kebijakan AmazonEMRServicePolicy_v2 terkelola ke peran EMR layanan Amazon, bukan kebijakan terkelola grup penempatan. AmazonEMRServicePolicy_v2memungkinkan akses yang sama ke grup penempatan di Amazon EC2 sepertiAmazonElasticMapReducePlacementGroupPolicy. Untuk informasi selengkapnya, lihat Peran layanan untuk Amazon EMR (EMRperan).

Kebijakan AmazonElasticMapReducePlacementGroupPolicy terkelola adalah JSON teks berikut yang dibuat dan dikelola oleh AmazonEMR.

catatan

Karena kebijakan AmazonElasticMapReducePlacementGroupPolicy terkelola diperbarui secara otomatis, kebijakan yang ditampilkan di sini mungkin out-of-date. Gunakan AWS Management Console untuk melihat kebijakan saat ini.

{ "Version":"2012-10-17", "Statement":[ { "Resource":"*", "Effect":"Allow", "Action":[ "ec2:DeletePlacementGroup", "ec2:DescribePlacementGroups" ] }, { "Resource":"arn:aws:ec2:*:*:placement-group/pg-*", "Effect":"Allow", "Action":[ "ec2:CreatePlacementGroup" ] } ] }

Luncurkan EMR klaster Amazon dengan beberapa node utama menggunakan strategi grup penempatan

Untuk meluncurkan EMR klaster Amazon yang memiliki beberapa node utama dengan strategi grup penempatan, lampirkan kebijakan terkelola grup penempatan AmazonElasticMapReducePlacementGroupPolicy ke EMR peran Amazon. Untuk informasi selengkapnya, lihat Melampirkan kebijakan terkelola grup penempatan ke Amazon EMRrole.

Setiap kali Anda menggunakan peran ini untuk memulai EMR klaster Amazon dengan beberapa node utama, Amazon EMR mencoba meluncurkan klaster dengan SPREAD strategi yang diterapkan pada node utamanya. Jika Anda menggunakan peran yang tidak memiliki kebijakan AmazonElasticMapReducePlacementGroupPolicy terkelola grup penempatan yang dilampirkan padanya, Amazon EMR mencoba meluncurkan EMR klaster Amazon yang memiliki beberapa node utama tanpa strategi grup penempatan.

Jika Anda meluncurkan EMR klaster Amazon yang memiliki beberapa node utama dengan placement-group-configs parameter menggunakan Amazon EMRAPI atauCLI, Amazon EMR hanya meluncurkan klaster jika Amazon EMRrole memiliki kebijakan terkelola grup penempatan yang AmazonElasticMapReducePlacementGroupPolicy dilampirkan. Jika Amazon EMRrole tidak memiliki kebijakan yang dilampirkan, EMR klaster Amazon 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 EMR klaster Amazon dengan beberapa node utama, setel PlacementGroupConfigs properti ke yang berikut. 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 subnet ID Anda.

  • Ganti ec2_key_pair_name dengan nama EC2 key pair Anda untuk cluster ini. EC2key pair 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 instance dengan beberapa node utama dari AWS Command Line Interface

Saat Anda menggunakan RunJobFlow tindakan untuk membuat EMR klaster Amazon dengan beberapa node utama, setel PlacementGroupConfigs properti ke yang berikut. 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 EC2 key pair Anda untuk cluster ini. EC2key pair bersifat opsional dan hanya diperlukan jika Anda ingin menggunakan SSH untuk mengakses klaster Anda.

  • Ganti subnet-22XXXX01 and subnet-22XXXX02dengan subnet IDs Anda.

Luncurkan cluster dengan beberapa node primer tanpa strategi grup penempatan

Untuk cluster dengan beberapa node primer untuk meluncurkan node primer tanpa strategi grup penempatan, Anda perlu melakukan salah satu hal berikut:

  • Hapus kebijakan terkelola grup penempatan AmazonElasticMapReducePlacementGroupPolicy dari AmazonEMRrole, atau

  • Luncurkan cluster dengan beberapa node primer dengan placement-group-configs parameter menggunakan Amazon EMRAPI atau CLI pilih NONE sebagai strategi grup penempatan.

Amazon EMR API
contoh — Meluncurkan cluster dengan beberapa node utama tanpa strategi grup penempatan menggunakan AmazonEMRAPI.

Saat menggunakan RunJobFlow tindakan untuk membuat cluster dengan beberapa node primer, atur PlacementGroupConfigs properti ke yang berikut.

{ "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 subnet ID Anda.

  • Ganti ec2_key_pair_name dengan nama EC2 key pair Anda untuk cluster ini. EC2key pair 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 AmazonEMRCLI.

Saat menggunakan RunJobFlow tindakan untuk membuat cluster dengan beberapa node primer, atur PlacementGroupConfigs properti ke yang berikut.

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 subnet ID Anda.

  • Ganti ec2_key_pair_name dengan nama EC2 key pair Anda untuk cluster ini. EC2key pair 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 primer

Anda dapat menggunakan klaster EMR deskripsi Amazon API untuk melihat konfigurasi strategi grup penempatan yang dilampirkan ke cluster dengan beberapa node utama.

aws emr describe-cluster --cluster-id "j-xxxxx" { "Cluster":{ "Id":"j-xxxxx", ... ... "PlacementGroups":[ { "InstanceRole":"MASTER", "PlacementStrategy":"SPREAD" } ] } }