

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Amazon-EMR-Integration mit EC2-Platzierungsgruppen
<a name="emr-plan-ha-placementgroup"></a>

Wenn Sie einen Amazon-EMR-Cluster mit mehreren Primärknoten auf Amazon EC2 starten, haben Sie die Möglichkeit, Platzierungsgruppenstrategien zu verwenden, um festzulegen, wie die Primärknoten-Instances zum Schutz vor Hardwareausfällen bereitgestellt werden sollen.

Platzierungsgruppenstrategien werden ab Amazon-EMR-Version 5.23.0 als Option für Cluster mit mehreren Primärknoten unterstützt. Derzeit werden nur Primärkotentypen von der Platzierungsgruppenstrategie unterstützt, und die `SPREAD`-Strategie wird auf diese Primärknoten angewendet. Bei dieser `SPREAD`-Strategie wird eine kleine Gruppe von Instances auf separater zugrundeliegender Hardware platziert, um den Verlust mehrerer Primärknoten im Falle eines Hardwarefehlers zu verhindern. Beachten Sie, dass eine Anforderung zum Starten einer Instance fehlschlagen kann, wenn es nicht genügend eindeutige Hardware zur Erfüllung der Anforderung gibt. Weitere Informationen zu EC2-Platzierungs-Strategien und Einschränkungen finden Sie unter [Platzierungsgruppen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) im *EC2-Benutzerhandbuch für Linux-Instances*.

In Amazon EC2 gibt es ein anfängliches Limit von 500 Clustern mit Platzierungsgruppenstrategie, die pro Region gestartet werden können. AWS Wenden Sie sich an den AWS Support, um eine Erhöhung der Anzahl der zulässigen Platzierungsgruppen zu beantragen. Sie können die von Amazon EMR erstellten EC2-Platzierungsgruppen identifizieren, indem Sie das Schlüssel-Wert-Paar verfolgen, das Amazon EMR mit der Amazon-EMR-Platzierungsgruppenstrategie verknüpft. Weitere Informationen zu EC2-Cluster-Instance-Tags finden Sie unter [Anzeigen von Cluster-Instances in Amazon EC2](UsingEMR_Tagging.md).

## Hängen Sie die von der Platzierungsgruppe verwaltete Richtlinie an Amazon an EMRrole
<a name="emr-plan-ha-launch-pg-policy"></a>

Die Platzierungsgruppenstrategie erfordert eine verwaltete Richtlinie namens `AmazonElasticMapReducePlacementGroupPolicy`, die es Amazon EMR ermöglicht, Platzierungsgruppen in Amazon EC2 zu erstellen, zu löschen und zu beschreiben. Sie müssen `AmazonElasticMapReducePlacementGroupPolicy` an die Servicerolle für Amazon EMR anhängen, bevor Sie einen Amazon-EMR-Cluster mit mehreren Primärknoten starten. 

Sie können die von `AmazonEMRServicePolicy_v2` verwaltete Richtlinie alternativ der Amazon-EMR-Servicerolle anstelle der verwalteten Richtlinie für die Platzierungsgruppe zuordnen. `AmazonEMRServicePolicy_v2` ermöglicht den gleichen Zugriff auf Platzierungsgruppen in Amazon EC2 wie `AmazonElasticMapReducePlacementGroupPolicy`. Weitere Informationen finden Sie unter [Servicerolle für Amazon EMR (EMR-Rolle)](emr-iam-role.md).

Bei der von `AmazonElasticMapReducePlacementGroupPolicy` verwalteten Richtlinie handelt es sich um den folgenden JSON-Text, der von Amazon EMR erstellt und verwaltet wird.

**Anmerkung**  
Da die `AmazonElasticMapReducePlacementGroupPolicy` verwaltete Richtlinie automatisch aktualisiert wird, ist es möglicherweise die hier gezeigte Richtlinie out-of-date. Verwenden Sie die AWS Management Console, um die aktuelle Richtlinie einzusehen.

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

------

## Einen Amazon-EMR-Cluster mit mehrere Primärknoten mittels Platzierungsgruppenstrategie starten
<a name="emr-plan-ha-launch-pg-strategy"></a>

Um einen Amazon-EMR-Cluster, der mehrere Primärknoten hat, mit einer Platzierungsgruppenstrategie zu starten, fügen Sie der Amazon-EMR-Rolle die von der Platzierungsgruppe verwaltete Richtlinie `AmazonElasticMapReducePlacementGroupPolicy` hinzu. Weitere Informationen finden Sie unter [Hängen Sie die von der Platzierungsgruppe verwaltete Richtlinie an Amazon an EMRrole](#emr-plan-ha-launch-pg-policy).

Jedes Mal, wenn Sie diese Rolle verwenden, um einen Amazon-EMR-Cluster mit mehreren Primärknoten zu starten, versucht Amazon EMR, einen Cluster zu starten, wobei die `SPREAD`-Strategie auf seine Primärknoten angewendet wird. Wenn Sie eine Rolle verwenden, der nicht die von der Platzierungsgruppe verwaltete Richtlinie `AmazonElasticMapReducePlacementGroupPolicy` zugeordnet ist, versucht Amazon EMR, einen Amazon-EMR-Cluster mit mehreren Primärknoten ohne Platzierungsgruppenstrategie zu starten.

Wenn Sie einen Amazon EMR-Cluster mit mehreren Primärknoten starten, wobei der `placement-group-configs` Parameter Amazon EMRAPI oder CLI verwendet, startet Amazon EMR den Cluster nur, wenn Amazon die Richtlinie für die Verwaltung der Platzierungsgruppe zugewiesen EMRrole hat. `AmazonElasticMapReducePlacementGroupPolicy` Wenn Amazon die Richtlinie EMRrole nicht angehängt hat, schlägt der Start des Amazon EMR-Clusters mit mehreren Primärknoten fehl.

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

**Example Beispiel – Verwenden Sie eine Platzierungsgruppenstrategie, um einen Instance-Gruppen-Cluster mit mehreren Primärknoten über die Amazon-EMR-API zu starten**  
Wenn Sie die RunJobFlow Aktion verwenden, um einen Amazon EMR-Cluster mit mehreren Primärknoten zu erstellen, legen Sie die `PlacementGroupConfigs` Eigenschaft wie folgt fest. Derzeit wird die `MASTER`-Instance-Rolle automatisch `SPREAD` als Platzierungsgruppenstrategie verwendet.  

```
{
   "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"
}
```
+ Ersetzen Sie es *ha-cluster* durch den Namen Ihres Hochverfügbarkeitsclusters.
+ Ersetzen Sie *subnet-22XXXX01* durch Ihre Subnetz-ID.
+ Ersetzen Sie das *ec2\$1key\$1pair\$1name* durch den Namen Ihres EC2-Schlüsselpaars für diesen Cluster. Das EC2-Schlüsselpaar ist optional und nur erforderlich, wenn Sie für den Zugriff auf Ihren Cluster SSH verwenden möchten.

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

**Example Beispiel — Verwenden Sie eine Platzierungsgruppenstrategie, um einen Instance-Flottencluster mit mehreren Primärknoten vom AWS Command Line Interface**  
Wenn Sie die RunJobFlow Aktion verwenden, um einen Amazon EMR-Cluster mit mehreren Primärknoten zu erstellen, legen Sie die `PlacementGroupConfigs` Eigenschaft wie folgt fest. Derzeit wird die `MASTER`-Instance-Rolle automatisch `SPREAD` als Platzierungsgruppenstrategie verwendet.  

```
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
```
+ Ersetzen Sie es *ha-cluster* durch den Namen Ihres Hochverfügbarkeitsclusters.
+ Ersetzen Sie das *ec2\$1key\$1pair\$1name* durch den Namen Ihres EC2-Schlüsselpaars für diesen Cluster. Das EC2-Schlüsselpaar ist optional und nur erforderlich, wenn Sie für den Zugriff auf Ihren Cluster SSH verwenden möchten.
+ Ersetzen Sie *subnet-22XXXX01* und *subnet-22XXXX02* durch Ihr IDs Subnetz.

------

## Starten Sie einen Cluster mit mehreren Primärknoten ohne eine Platzierungsgruppenstrategie
<a name="emr-plan-ha-launch-no-pg-strategy"></a>

Damit ein Cluster mit mehreren Primärknoten ohne die Platzierungsgruppenstrategie starten kann, müssen Sie einen der folgenden Schritte ausführen:
+ Entfernen Sie die von der Platzierungsgruppe verwaltete Richtlinie `AmazonElasticMapReducePlacementGroupPolicy` aus Amazon EMRrole, oder
+ Starten Sie einen Cluster mit mehreren Primärknoten, wobei der `placement-group-configs`-Parameter Amazon EMRAPI oder CLI `NONE` als Platzierungsgruppenstrategie verwendet.

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

**Example – Starten eines Clusters mit mehreren Primärknoten ohne Platzierungsgruppenstrategie mithilfe der Amazon EMRAPI.**  
Wenn Sie die RunJobFlow Aktion verwenden, um einen Cluster mit mehreren Primärknoten zu erstellen, legen Sie die `PlacementGroupConfigs` Eigenschaft wie folgt fest.  

```
{
   "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"
}
```
+ *ha-cluster*Ersetzen Sie es durch den Namen Ihres Hochverfügbarkeitsclusters.
+ Ersetzen Sie *subnet-22XXXX01* durch Ihre Subnetz-ID.
+ Ersetzen Sie das *ec2\$1key\$1pair\$1name* durch den Namen Ihres EC2-Schlüsselpaars für diesen Cluster. Das EC2-Schlüsselpaar ist optional und nur erforderlich, wenn Sie für den Zugriff auf Ihren Cluster SSH verwenden möchten.

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

**Example – Starten eines Clusters mit mehreren Primärknoten ohne Platzierungsgruppenstrategie mithilfe der Amazon EMRCLI.**  
Wenn Sie die RunJobFlow Aktion verwenden, um einen Cluster mit mehreren Primärknoten zu erstellen, legen Sie die `PlacementGroupConfigs` Eigenschaft wie folgt fest.  

```
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
```
+ *ha-cluster*Ersetzen Sie es durch den Namen Ihres Hochverfügbarkeitsclusters.
+ Ersetzen Sie *subnet-22XXXX01* durch Ihre Subnetz-ID.
+ Ersetzen Sie das *ec2\$1key\$1pair\$1name* durch den Namen Ihres EC2-Schlüsselpaars für diesen Cluster. Das EC2-Schlüsselpaar ist optional und nur erforderlich, wenn Sie für den Zugriff auf Ihren Cluster SSH verwenden möchten.

------

## Überprüfen Sie die Konfiguration der Platzierungsgruppenstrategie, die an den Cluster mit mehreren Primärknoten angehängt ist
<a name="emr-plan-ha-check-pg-using-api"></a>

Sie können die Amazon-EMR-Cluster-API verwenden, um die Konfiguration der Platzierungsgruppenstrategie anzuzeigen, die dem Cluster mit mehreren Primärknoten zugeordnet ist.

**Example**  

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