EMRIntegrazione di Amazon con i gruppi di EC2 collocamento - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

EMRIntegrazione di Amazon con i gruppi di EC2 collocamento

Quando avvii un cluster Amazon con EMR più nodi primari su AmazonEC2, hai la possibilità di utilizzare strategie di gruppo di posizionamento per specificare come desideri che le istanze del nodo primario vengano distribuite per proteggerle dai guasti hardware.

Le strategie dei gruppi di posizionamento sono supportate a partire dalla EMR versione Amazon 5.23.0 come opzione per più cluster di nodi primari. Attualmente, solo i tipi di nodi primari sono supportati dalla strategia del gruppo di collocamento e la strategia SPREAD viene applicata a tali nodi primari. La strategia SPREAD colloca un piccolo gruppo di istanze su hardware sottostante separato per evitare la perdita di più nodi primari in caso di guasto hardware. Una richiesta di avvio di un'istanza potrebbe non riuscire se l'hardware univoco è insufficiente per l'esecuzione della richiesta. Per ulteriori informazioni sulle strategie e le limitazioni di EC2 posizionamento, consulta i gruppi di posizionamento nella Guida EC2 utente per le istanze Linux.

Amazon prevede un limite iniziale EC2 di 500 cluster abilitati alla strategia dei gruppi di collocamento che possono essere lanciati per regione. AWS Contatta l' AWS assistenza per richiedere un aumento del numero di gruppi di collocamento consentiti. Puoi identificare i gruppi di EC2 collocamento EMR creati da Amazon tracciando la coppia chiave-valore che Amazon EMR associa alla strategia dei gruppi di EMR collocamento di Amazon. Per ulteriori informazioni sui tag delle istanze EC2 del cluster, consulta. Visualizza le istanze di cluster in Amazon EC2

Allega la politica gestita dal gruppo di collocamento ad Amazon EMRrole

La strategia dei gruppi di collocamento richiede una politica gestita chiamataAmazonElasticMapReducePlacementGroupPolicy, che consente EMR ad Amazon di creare, eliminare e descrivere i gruppi di collocamento su AmazonEC2. È necessario AmazonElasticMapReducePlacementGroupPolicy collegarsi al ruolo di servizio per Amazon EMR prima di avviare un EMR cluster Amazon con più nodi primari.

In alternativa, puoi allegare la politica AmazonEMRServicePolicy_v2 gestita al ruolo di EMR servizio Amazon anziché la politica gestita dal gruppo di collocamento. AmazonEMRServicePolicy_v2consente lo stesso accesso ai gruppi di collocamento su Amazon EC2 diAmazonElasticMapReducePlacementGroupPolicy. Per ulteriori informazioni, consulta Ruolo di servizio per Amazon EMR (EMRruolo).

La policy AmazonElasticMapReducePlacementGroupPolicy gestita è il seguente JSON testo creato e amministrato da AmazonEMR.

Nota

Poiché la politica AmazonElasticMapReducePlacementGroupPolicy gestita viene aggiornata automaticamente, la politica mostrata qui potrebbe essere out-of-date. Utilizza la console di AWS gestione per visualizzare la politica corrente.

{ "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" ] } ] }

Avvia un EMR cluster Amazon con più nodi primari utilizzando la strategia del gruppo di posizionamento

Per avviare un EMR cluster Amazon con più nodi primari con una strategia di gruppo di collocamento, collega la policy gestita dal gruppo di collocamento AmazonElasticMapReducePlacementGroupPolicy al EMR ruolo Amazon. Per ulteriori informazioni, consulta Allega la politica gestita dal gruppo di collocamento ad Amazon EMRrole.

Ogni volta che utilizzi questo ruolo per avviare un EMR cluster Amazon con più nodi primari, Amazon EMR tenta di avviare un cluster con una SPREAD strategia applicata ai suoi nodi primari. Se utilizzi un ruolo a cui non è AmazonElasticMapReducePlacementGroupPolicy associata la politica gestita dal gruppo di collocamento, Amazon EMR tenta di avviare un EMR cluster Amazon con più nodi primari senza una strategia di gruppo di collocamento.

Se avvii un EMR cluster Amazon con più nodi primari con il placement-group-configs parametro utilizzando Amazon EMRAPI oppureCLI, Amazon avvia il cluster EMR solo se Amazon EMRrole ha AmazonElasticMapReducePlacementGroupPolicy allegata la politica gestita dal gruppo di collocamento. Se Amazon EMRrole non ha la policy allegata, l'avvio del EMR cluster Amazon con più nodi primari non funziona.

Amazon EMR API
Esempio: utilizza una strategia di gruppo di posizionamento per avviare un cluster di gruppi di istanze con più nodi primari di Amazon EMR API

Quando utilizzi l' RunJobFlow azione per creare un EMR cluster Amazon con più nodi primari, imposta la PlacementGroupConfigs proprietà su quanto segue. Attualmente, il ruolo dell'istanza MASTER utilizza automaticamente SPREAD come strategia del gruppo di collocamento.

{ "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" }
  • Sostituiscilo ha-cluster con il nome del tuo cluster ad alta disponibilità.

  • subnet-22XXXX01Sostituiscilo con il tuo ID di sottorete.

  • Sostituisci ec2_key_pair_name con il nome della tua EC2 key pair per questo cluster. EC2la coppia di key pair è facoltativa e richiesta solo se si desidera SSH utilizzarla per accedere al cluster.

AWS CLI
Esempio: utilizzo di una strategia del gruppo di posizionamento per avviare un cluster del parco istanze con più nodi primari dalla AWS Command Line Interface

Quando utilizzi l' RunJobFlow azione per creare un EMR cluster Amazon con più nodi primari, imposta la PlacementGroupConfigs proprietà su quanto segue. Attualmente, il ruolo dell'istanza MASTER utilizza automaticamente SPREAD come strategia del gruppo di collocamento.

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
  • Sostituiscilo ha-cluster con il nome del tuo cluster ad alta disponibilità.

  • Sostituisci ec2_key_pair_name con il nome della tua EC2 key pair per questo cluster. EC2la coppia di key pair è facoltativa e richiesta solo se si desidera SSH utilizzarla per accedere al cluster.

  • Sostituisci subnet-22XXXX01 e subnet-22XXXX02 con la tua sottoreteIDs.

Avvio di un cluster con più nodi primari Amazon EMR senza strategia del gruppo di collocamento

Affinché un cluster con più nodi primari possa avviare nodi primari senza la strategia del gruppo di collocamento, dovrai effettuare una delle seguenti operazioni:

  • Rimuovi la politica gestita dal gruppo di collocamento AmazonElasticMapReducePlacementGroupPolicy da AmazonEMRrole, oppure

  • Avvia un cluster con più nodi primari con il placement-group-configs parametro utilizzando Amazon EMRAPI o CLI scegliendo NONE come strategia di gruppo di posizionamento.

Amazon EMR API
Esempio — Avvio di un cluster con più nodi primari senza una strategia di gruppo di posizionamento utilizzando AmazonEMRAPI.

Quando utilizzi l' RunJobFlow azione per creare un cluster con più nodi primari, imposta la PlacementGroupConfigs proprietà su quanto segue.

{ "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" }
  • Sostituiscilo ha-cluster con il nome del cluster ad alta disponibilità.

  • subnet-22XXXX01Sostituiscilo con il tuo ID di sottorete.

  • Sostituisci ec2_key_pair_name con il nome della tua EC2 key pair per questo cluster. EC2la coppia di key pair è facoltativa e richiesta solo se si desidera SSH utilizzarla per accedere al cluster.

Amazon EMR CLI
Esempio — Avvio di un cluster con più nodi primari senza una strategia di gruppo di posizionamento utilizzando AmazonEMRCLI.

Quando utilizzi l' RunJobFlow azione per creare un cluster con più nodi primari, imposta la PlacementGroupConfigs proprietà su quanto segue.

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
  • Sostituiscilo ha-cluster con il nome del cluster ad alta disponibilità.

  • subnet-22XXXX01Sostituiscilo con il tuo ID di sottorete.

  • Sostituisci ec2_key_pair_name con il nome della tua EC2 key pair per questo cluster. EC2la coppia di key pair è facoltativa e richiesta solo se si desidera SSH utilizzarla per accedere al cluster.

Controllo della configurazione della strategia del gruppo di collocamento associata al cluster con più nodi primari di Amazon EMR

Puoi utilizzare Amazon EMR describe cluster API per visualizzare la configurazione della strategia del gruppo di posizionamento collegata al cluster con più nodi primari.

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