

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à.

# Integrazione di Amazon EMR con gruppi di collocamento EC2
<a name="emr-plan-ha-placementgroup"></a>

Quando avvii un cluster con più nodi primari Amazon EMR su Amazon EC2, hai la possibilità di utilizzare le strategie dei gruppi di collocamento per specificare come vuoi che le istanze del nodo primario vengano distribuite per assicurare la protezione dai guasti hardware.

Le strategie dei gruppi di collocamento sono supportate a partire da Amazon EMR versione 5.23.0 come opzione per i cluster con più 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 di collocamento EC2 e sulle limitazioni, consulta [Gruppi di collocamento](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) nella *Guida per l'utente di Amazon EC2 per le istanze Linux*.

Amazon EC2 prevede un limite iniziale 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 collocamento EC2 creati da Amazon EMR monitorando la coppia chiave-valore che Amazon EMR associa alla strategia del gruppo di collocamento Amazon EMR. Per ulteriori informazioni sui tag delle istanze per i cluster EC2, consulta [Visualizzazione di istanze cluster in Amazon EC2](UsingEMR_Tagging.md).

## Allega la politica gestita dal gruppo di collocamento ad Amazon EMRrole
<a name="emr-plan-ha-launch-pg-policy"></a>

La strategia del gruppo di collocamento richiede una policy gestita denominata `AmazonElasticMapReducePlacementGroupPolicy` per consentire ad Amazon EMR di creare, eliminare e descrivere gruppi di collocamento su Amazon EC2. È necessario collegare `AmazonElasticMapReducePlacementGroupPolicy` al ruolo di servizio per Amazon EMR prima di avviare un cluster Amazon EMR con più nodi primari. 

La policy gestita da Amazon EMR, `AmazonEMRServicePolicy_v2`, può essere associata al ruolo di Amazon EMR anziché alla policy gestita dal gruppo di collocamento. `AmazonEMRServicePolicy_v2` consente lo stesso accesso ai gruppi di collocamento su Amazon EC2 di `AmazonElasticMapReducePlacementGroupPolicy`. Per ulteriori informazioni, consulta [Ruolo di servizio per Amazon EMR (ruolo EMR)](emr-iam-role.md).

La policy gestita da `AmazonElasticMapReducePlacementGroupPolicy` è il seguente testo JSON che viene creato e gestito da Amazon EMR.

**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.

------
#### [ 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"
    }
  ]
}
```

------

## Avvio di un cluster Amazon EMR con più nodi primari utilizzando una strategia per gruppi di posizionamento
<a name="emr-plan-ha-launch-pg-strategy"></a>

Per avviare un cluster Amazon EMR con più nodi primari con una strategia per gruppi di posizionamento, collega la policy gestita dal gruppo di posizionamento `AmazonElasticMapReducePlacementGroupPolicy` al ruolo Amazon EMR. Per ulteriori informazioni, consulta [Allega la politica gestita dal gruppo di collocamento ad Amazon EMRrole](#emr-plan-ha-launch-pg-policy).

Ogni volta che utilizzi questo ruolo per avviare un cluster Amazon EMR con più nodi primari, Amazon EMR tenta di avviare un cluster con la strategia `SPREAD` applicata ai suoi nodi primari. Se utilizzi un ruolo che non dispone della policy gestita dal gruppo di posizionamento `AmazonElasticMapReducePlacementGroupPolicy` ad esso collegato, Amazon EMR tenta di avviare un cluster Amazon EMR con più nodi primari senza una strategia per gruppi di posizionamento.

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

------
#### [ Amazon EMR API ]

**Example Esempio: utilizza una strategia del gruppo di posizionamento per avviare un cluster del gruppo di istanze con più nodi primari dall'API Amazon EMR**  
Quando utilizzi l' RunJobFlow azione per creare un cluster Amazon EMR 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"
}
```
+ *ha-cluster*Sostituiscilo con il nome del tuo cluster ad alta disponibilità.
+ *subnet-22XXXX01*Sostituiscilo con il tuo ID di sottorete.
+ Sostituisci *ec2\$1key\$1pair\$1name* con il nome della tua coppia di chiavi EC2 per questo cluster. La coppia di chiavi EC2 è facoltativa e obbligatoria solo se si desidera utilizzare SSH per accedere al cluster.

------
#### [ AWS CLI ]

**Example Esempio: utilizza una strategia di gruppo di collocamento per avviare un cluster di istanze con più nodi primari dal AWS Command Line Interface**  
Quando utilizzi l' RunJobFlow azione per creare un cluster Amazon EMR 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
```
+ *ha-cluster*Sostituiscilo con il nome del tuo cluster ad alta disponibilità.
+ Sostituisci *ec2\$1key\$1pair\$1name* con il nome della tua coppia di chiavi EC2 per questo cluster. La coppia di chiavi EC2 è facoltativa e obbligatoria solo se si desidera utilizzare SSH per accedere al cluster.
+ Sostituisci *subnet-22XXXX01* e *subnet-22XXXX02* con la tua IDs sottorete.

------

## Avvio di un cluster con più nodi primari Amazon EMR senza strategia del gruppo di collocamento
<a name="emr-plan-ha-launch-no-pg-strategy"></a>

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 Amazon EMRrole, oppure
+ Avvia un cluster con più nodi primari Amazon EMR con il parametro `placement-group-configs` utilizzando l'API o la CLI di Amazon EMR oppure scegliendo `NONE` come strategia del gruppo di collocamento.

------
#### [ Amazon EMR API ]

**Example - Avvio di un cluster con più nodi primari senza strategia del gruppo di collocamento utilizzando l'API di Amazon EMR.**  
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-22XXXX01*Sostituiscilo con il tuo ID di sottorete.
+ Sostituisci *ec2\$1key\$1pair\$1name* con il nome della tua coppia di chiavi EC2 per questo cluster. La coppia di chiavi EC2 è facoltativa e obbligatoria solo se si desidera utilizzare SSH per accedere al cluster.

------
#### [ Amazon EMR CLI ]

**Example - Avvio di un cluster con più nodi primari senza strategia del gruppo di collocamento utilizzando la CLI Amazon EMR.**  
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-22XXXX01*Sostituiscilo con il tuo ID di sottorete.
+ Sostituisci *ec2\$1key\$1pair\$1name* con il nome della tua coppia di chiavi EC2 per questo cluster. La coppia di chiavi EC2 è facoltativa e obbligatoria solo se si desidera utilizzare SSH per accedere al cluster.

------

## Controllo della configurazione della strategia del gruppo di collocamento associata al cluster con più nodi primari di Amazon EMR
<a name="emr-plan-ha-check-pg-using-api"></a>

Puoi utilizzare l'API describe cluster di Amazon EMR per visualizzare la configurazione della strategia del gruppo di collocamento associata al cluster con più nodi primari di Amazon EMR.

**Example**  

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