

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
<a name="emr-plan-ha-placementgroup"></a>

Saat meluncurkan beberapa kluster simpul utama EMR Amazon di Amazon EC2, 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 kluster simpul utama. Saat ini, hanya tipe node primer yang didukung oleh strategi grup penempatan, dan `SPREAD` strategi diterapkan pada node primer tersebut. `SPREAD`Strategi 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 lebih lanjut tentang strategi penempatan EC2 dan batasan, lihat [Grup penempatan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) di *Panduan Pengguna EC2 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 penempatan EC2 yang dibuat Amazon EMR dengan melacak pasangan nilai kunci yang diasosiasikan Amazon EMR dengan strategi grup penempatan EMR Amazon. Untuk informasi selengkapnya tentang tag instans klaster EC2, lihat [Melihat instans klaster di Amazon EC2](UsingEMR_Tagging.md).

## Lampirkan kebijakan terkelola grup penempatan ke Amazon EMRrole
<a name="emr-plan-ha-launch-pg-policy"></a>

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

Anda juga dapat melampirkan kebijakan `AmazonEMRServicePolicy_v2` terkelola ke peran layanan EMR Amazon, bukan kebijakan terkelola grup penempatan. `AmazonEMRServicePolicy_v2`memungkinkan akses yang sama ke grup penempatan di Amazon EC2 sebagai. `AmazonElasticMapReducePlacementGroupPolicy` Untuk informasi selengkapnya, lihat [Peran layanan untuk Amazon EMR (peran EMR)](emr-iam-role.md).

Kebijakan terkelola `AmazonElasticMapReducePlacementGroupPolicy` adalah teks JSON berikut yang dibuat dan dikelola oleh Amazon EMR.

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

------
#### [ 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 klaster EMR Amazon dengan beberapa node utama menggunakan strategi grup penempatan
<a name="emr-plan-ha-launch-pg-strategy"></a>

Untuk meluncurkan klaster EMR Amazon yang memiliki beberapa node utama dengan strategi grup penempatan, lampirkan kebijakan terkelola grup penempatan `AmazonElasticMapReducePlacementGroupPolicy` ke peran EMR Amazon. Untuk informasi selengkapnya, lihat [Lampirkan kebijakan terkelola grup penempatan ke Amazon EMRrole](#emr-plan-ha-launch-pg-policy).

Setiap kali Anda menggunakan peran ini untuk memulai klaster EMR Amazon dengan beberapa node primer, 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 klaster EMR Amazon yang memiliki beberapa node utama tanpa strategi grup penempatan.

Jika Anda meluncurkan klaster EMR Amazon yang memiliki beberapa node utama dengan `placement-group-configs` parameter menggunakan Amazon EMRAPI atau CLI, Amazon EMR hanya meluncurkan klaster jika Amazon memiliki kebijakan terkelola grup penempatan yang dilampirkan. EMRrole `AmazonElasticMapReducePlacementGroupPolicy` Jika Amazon EMRrole tidak memiliki kebijakan yang dilampirkan, klaster EMR Amazon dengan beberapa node utama mulai gagal.

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

**Example 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 klaster EMR 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\$1key\$1pair\$1name* dengan nama key pair EC2 Anda untuk cluster ini. Pasangan kunci EC2 bersifat opsional dan hanya diperlukan jika Anda ingin menggunakan SSH untuk mengakses klaster Anda.

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

**Example 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 klaster EMR 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\$1key\$1pair\$1name* dengan nama key pair 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 subnet IDs Anda.

------

## Luncurkan cluster dengan beberapa node primer tanpa strategi grup penempatan
<a name="emr-plan-ha-launch-no-pg-strategy"></a>

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 Amazon EMRrole, atau
+ Luncurkan cluster dengan beberapa node primer dengan `placement-group-configs` parameter menggunakan Amazon EMRAPI atau CLI `NONE` memilih sebagai strategi grup penempatan.

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

**Example — Meluncurkan cluster dengan beberapa node primer tanpa strategi grup penempatan menggunakan Amazon EMRAPI.**  
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\$1key\$1pair\$1name* dengan nama key pair 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 ]

**Example — Meluncurkan cluster dengan beberapa node primer tanpa strategi grup penempatan menggunakan Amazon EMRCLI.**  
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\$1key\$1pair\$1name* dengan nama key pair 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 primer
<a name="emr-plan-ha-check-pg-using-api"></a>

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

**Example**  

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