

AWS Data Pipeline tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS Data Pipeline dapat terus menggunakan layanan seperti biasa. [Pelajari selengkapnya](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

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

# EmrCluster
<a name="dp-object-emrcluster"></a>

Merepresentasikan konfigurasi klaster Amazon EMR. Objek ini digunakan oleh [EmrActivity](dp-object-emractivity.md) dan [HadoopActivity](dp-object-hadoopactivity.md) untuk meluncurkan sebuah klaster.

**Topics**
+ [Penjadwal](#emrcluster-schedulers)
+ [Amazon EMR Versi Rilis](#dp-emrcluster-release-versions)
+ [Izin Amazon EMR](#w2aac52c17b9c11)
+ [Sintaksis](#emrcluster-syntax)
+ [Contoh](emrcluster-example.md)
+ [Lihat Juga](#emrcluster-seealso)

## Penjadwal
<a name="emrcluster-schedulers"></a>

Penjadwal menyediakan cara untuk menentukan alokasi sumber daya dan prioritas tugas dalam klaster Hadoop. Administrator atau pengguna dapat memilih penjadwal untuk berbagai kelas pengguna dan aplikasi. Penjadwal bisa menggunakan antrean untuk mengalokasikan sumber daya untuk pengguna dan aplikasi. Anda mengatur antrean tersebut ketika Anda membuat klaster. Anda kemudian dapat mengatur prioritas untuk jenis pekerjaan tertentu dan pengguna atas orang lain. Ini menyediakan untuk efisien penggunaan klaster sumber daya, sementara mengizinkan lebih dari satu pengguna untuk mengirimkan pekerjaan ke klaster. Ada tiga jenis penjadwal yang tersedia:
+ [FairScheduler](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/FairScheduler.html)— Mencoba menjadwalkan sumber daya secara merata selama periode waktu yang signifikan.
+ [CapacityScheduler](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html)— Menggunakan antrian untuk memungkinkan administrator cluster untuk menetapkan pengguna untuk antrian dari berbagai prioritas dan alokasi sumber daya. 
+ Default — Digunakan oleh klaster, yang dapat dikonfigurasi oleh situs Anda.

## Amazon EMR Versi Rilis
<a name="dp-emrcluster-release-versions"></a>

Rilis Amazon EMR adalah seperangkat aplikasi sumber terbuka dari ekosistem big data. Setiap rilis terdiri dari aplikasi big data, komponen, dan fitur yang berbeda yang bisa Anda pilih untuk diinstal dan dikonfigurasi oleh Amazon EMR ketika Anda membuat sebuah klaster. Anda menentukan versi rilis menggunakan Label rilis. Label rilis ada dalam bentuk`emr-x.x.x`. Misalnya, `emr-5.30.0`. Klaster Amazon EMR berdasarkan label rilis `emr-4.0.0` dan kemudian menggunakan properti `releaseLabel` untuk menentukan label rilis dari objek `EmrCluster`. Versi sebelumnya menggunakan properti `amiVersion`.

**penting**  
Semua klaster Amazon EMR dibuat menggunakan rilis versi 5.22.0 atau yang lebih baru menggunakan [Tanda Tangan Versi 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) untuk mengautentikasi permintaan ke Amazon S3. Beberapa versi rilis sebelumnya menggunakan Tanda Tangan Versi 2. Support Tanda Tangan versi 2 sedang dihentikan. Untuk informasi selengkapnya, lihat [Amazon S3 Update – Sigv2 Periode Pengusangan Diperpanjang dan Dimodifikasi](https://aws.amazon.com/blogs/aws/amazon-s3-update-sigv2-deprecation-period-extended-modified/). Kami sangat merekomendasikan agar Anda menggunakan versi rilis Amazon EMR yang men-support Tanda Tangan Versi 4. Untuk rilis versi sebelumnya, dimulai dengan EMR 4.7.x, rilis terbaru dalam seri telah diperbarui untuk men-support Tanda Tangan Versi 4. Saat menggunakan versi rilis Amazon EMR sebelumnya, kami merekomendasikan Anda menggunakan rilis terbaru dalam seri. Selain itu, hindari rilis lebih awal dari EMR 4.7.0.

### Pertimbangan dan Batasan
<a name="dp-emrcluster-considerations"></a>

#### Gunakan versi terbaru Task Runner
<a name="dp-task-runner-latest"></a>

Jika Anda menggunakan objek `EmrCluster` yang dikelola sendiri dengan label rilis, gunakan Task Runner terbaru. Untuk informasi selengkapnya tentang Task Runner, lihat [Bekerja dengan Runner Tugas](dp-using-task-runner.md). Anda dapat mengonfigurasi nilai properti untuk semua klasifikasi konfigurasi Amazon EMR. Untuk informasi selengkapnya, lihat [Mengonfigurasi Aplikasi](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html) di *Panduan Rilis Amazon EMR*, [EmrConfiguration](dp-object-emrconfiguration.md), dan referensi objek [Properti](dp-object-property.md). 

#### Support untuk IMDSv2
<a name="dp-emr-imdsv2-support"></a>

Sebelumnya, hanya AWS Data Pipeline didukung IMDSv1. Sekarang, AWS Data Pipeline mendukung IMDSv2 di Amazon EMR 5.23.1, 5.27.1, dan 5.32 atau lebih baru, dan Amazon EMR 6.2 atau lebih baru. IMDSv2 menggunakan metode berorientasi sesi untuk menangani otentikasi dengan lebih baik saat mengambil informasi metadata dari instance. Anda harus mengonfigurasi instance Anda untuk melakukan IMDSv2 panggilan dengan membuat sumber daya yang dikelola pengguna menggunakan -2.0. TaskRunner

#### Amazon EMR 5.32 atau lebih baru dan Amazon EMR 6.x
<a name="dp-emr-6-classpath"></a>

Amazon EMR 5.32 atau yang lebih baru dan seri rilis 6.x menggunakan Hadoop versi 3.x, yang memperkenalkan perubahan besar dalam cara classpath Hadoop dievaluasi dibandingkan dengan Hadoop versi 2.x. Perpustakaan umum seperti Joda-Time telah dihapus dari classpath.

Jika [EmrActivity](dp-object-emractivity.md) atau [HadoopActivity](dp-object-hadoopactivity.md) menjalankan file Jar yang memiliki dependensi pada perpustakaan yang telah dihapus di Hadoop 3.x, langkah gagal dengan kesalahan `java.lang.NoClassDefFoundError` atau `java.lang.ClassNotFoundException`. Hal ini dapat terjadi untuk file Jar yang berjalan tanpa masalah menggunakan versi rilis Amazon EMR 5.x.

Untuk memperbaiki masalah ini, Anda harus menyalin file Jar dependensi ke classpath Hadoop pada objek `EmrCluster` sebelum memulai `EmrActivity` atau `HadoopActivity`. Kami menyediakan script bash untuk melakukan hal ini. Skrip bash tersedia di lokasi berikut, di mana *MyRegion* adalah AWS Wilayah tempat `EmrCluster` objek Anda berjalan, misalnya`us-west-2`.

```
s3://datapipeline-MyRegion/MyRegion/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh
```

Cara menjalankan skrip tergantung pada apakah `EmrActivity` atau `HadoopActivity` berjalan pada sumber daya yang dikelola oleh AWS Data Pipeline atau dijalankan pada sumber daya yang dikelola sendiri.

Jika Anda menggunakan sumber daya yang dikelola oleh AWS Data Pipeline, tambahkan a `bootstrapAction` ke `EmrCluster` objek. `bootstrapAction` menentukan script dan file Jar untuk menyalin sebagai argumen. Anda dapat menambahkan hingga 255 bidang `bootstrapAction` per objek `EmrCluster`, dan Anda dapat menambahkan bidang `bootstrapAction` ke objek `EmrCluster` yang sudah memiliki tindakan bootstrap.

Untuk menentukan skrip ini sebagai tindakan bootstrap, gunakan sintaks berikut, di mana `JarFileRegion` Wilayah tempat file Jar disimpan, dan masing-masing *MyJarFile*n** adalah jalur absolut di Amazon S3 dari file Jar yang akan disalin ke classpath Hadoop. Jangan menentukan file Jar yang berada di classpath Hadoop secara default.

```
s3://datapipeline-MyRegion/MyRegion/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh,JarFileRegion,MyJarFile1,MyJarFile2[, ...]
```

Contoh berikut menentukan tindakan bootstrap yang menyalin dua file Jar di Amazon S3: `my-jar-file.jar` dan `emr-dynamodb-tool-4.14.0-jar-with-dependencies.jar`. Wilayah yang digunakan dalam contoh ini adalah us-west-2.

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m5.xlarge",
  "coreInstanceType" : "m5.xlarge",
  "coreInstanceCount" : "2",
  "taskInstanceType" : "m5.xlarge",
  "taskInstanceCount": "2",
  "bootstrapAction" : ["s3://datapipeline-us-west-2/us-west-2/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh,us-west-2,s3://path/to/my-jar-file.jar,s3://dynamodb-dpl-us-west-2/emr-ddb-storage-handler/4.14.0/emr-dynamodb-tools-4.14.0-jar-with-dependencies.jar"]
}
```

Anda harus menyimpan dan mengaktifkan alur untuk perubahan ke `bootstrapAction` untuk mengambil efek.

Jika Anda menggunakan sumber daya yang dikelola sendiri, Anda dapat mengunduh script untuk instans klaster dan menjalankannya dari baris perintah menggunakan SSH. Script membuat direktori bernama `/etc/hadoop/conf/shellprofile.d` dan sebuah file bernama `datapipeline-jars.sh` dalam direktori itu. File jar disediakan sebagai argumen baris perintah disalin ke direktori yang script ciptakan yang bernama `/home/hadoop/datapipeline_jars`. Jika klaster Anda diatur berbeda, modifikasi script dengan tepat setelah mengunduhnya.

Sintaks untuk menjalankan script pada baris perintah sedikit berbeda dari menggunakan `bootstrapAction` yang ditunjukkan pada contoh sebelumnya. Gunakan spasi bukan koma antara argumen, seperti yang ditunjukkan dalam contoh berikut.

```
./copy-jars-to-hadoop-classpath.sh us-west-2 s3://path/to/my-jar-file.jar s3://dynamodb-dpl-us-west-2/emr-ddb-storage-handler/4.14.0/emr-dynamodb-tools-4.14.0-jar-with-dependencies.jar
```

## Izin Amazon EMR
<a name="w2aac52c17b9c11"></a>

Ketika Anda membuat IAM role kustom, hati-hati mempertimbangkan izin minimum yang diperlukan untuk klaster Anda untuk melakukan pekerjaan. Pastikan untuk memberikan akses ke sumber daya yang diperlukan, seperti file di Amazon S3 atau data di Amazon RDS, Amazon Redshift, atau DynamoDB. Jika Anda ingin mengatur `visibleToAllUsers` ke SALAH, peran Anda harus memiliki izin yang tepat untuk melakukannya. Perhatikan bahwa `DataPipelineDefaultRole` tidak memiliki izin ini. Anda harus memberikan penyatuan peran `DefaultDataPipelineResourceRole` dan `DataPipelineDefaultRole` sebagai peran objek `EmrCluster`, atau membuat peran Anda sendiri untuk tujuan ini.

## Sintaksis
<a name="emrcluster-syntax"></a>


****  

| Bidang Invokasi Objek | Deskripsi | Jenis Slot | 
| --- | --- | --- | 
| jadwal | Objek ini dipanggil dalam pelaksanaan interval jadwal. Tentukan referensi jadwal ke objek lain untuk mengatur urutan eksekusi dependensi untuk objek ini. Anda dapat memenuhi persyaratan ini dengan secara eksplisit mengatur jadwal pada objek, misalnya, dengan menentukan "schedule": \$1"ref": "DefaultSchedule"\$1. Dalam kebanyakan kasus, lebih baik untuk menempatkan referensi jadwal pada objek alur default sehingga semua objek mewarisi jadwal itu. Atau, jika alur memiliki pohon jadwal (jadwal dalam jadwal utama), Anda dapat membuat objek induk yang memiliki referensi jadwal. Untuk informasi selengkapnya tentang konfigurasi jadwal opsional contoh, lihat [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html) | Objek Referensi, misalnya, "schedule":\$1"ref":"myScheduleId"\$1 | 

 


****  

| Bidang Opsional | Deskripsi | Jenis Slot | 
| --- | --- | --- | 
| actionOnResourceKegagalan | Tindakan yang diambil setelah kegagalan sumber daya untuk sumber daya ini. Nilai yang benar adalah "retryall", yang mencoba semua tugas ke klaster untuk durasi tertentu, dan "retrynone". | String | 
| actionOnTaskKegagalan | Tindakan yang diambil setelah kegagalan tugas untuk sumber daya ini. Nilai yang valid adalah "melanjutkan", yang berarti tidak mengakhiri klaster, dan "mengakhiri." | String | 
| additionalMasterSecurityGroupIds | Pengidentifikasi kelompok keamanan master tambahan dari cluster EMR, yang mengikuti formulir sg-01. XXXX6a Untuk informasi selengkapnya, lihat [Amazon EMR Grup Keamanan Tambahan](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-additional-sec-groups.html) di Panduan Manajemen Amazon EMR. | String | 
| additionalSlaveSecurityGroupIds | Pengenal kelompok keamanan budak tambahan dari klaster EMR, yang mengikuti bentuk sg-01XXXX6a. | String | 
| amiVersion | Versi Amazon Machine Image (AMI) yang menggunakan Amazon EMR untuk menginstal simpul klaster. Untuk informasi lebih lanjut, lihat [Panduan Manajemen Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/). | String | 
| aplikasi | Aplikasi untuk diinstal di klaster dengan argumen yang dipisahkan koma. Secara default, Hive dan Pig diinstal. Parameter ini hanya berlaku untuk Amazon EMR versi 4.0 dan yang lebih baru. | String | 
| attemptStatus | Status yang paling baru dilaporkan dari aktivitas jarak jauh. | String | 
| attemptTimeout | Timeout untuk penyelesaian pekerjaan jarak jauh. Jika disetel, maka aktivitas jarak jauh yang tidak lengkap dalam waktu mulai yang ditetapkan mungkin dicoba lagi. | Periode | 
| availabilityZone | Availability Zone tempat menjalankan klaster. | String | 
| bootstrapAction | Tindakan untuk dijalankan ketika klaster dimulai. Anda dapat menentukan argumen yang dipisahkan koma. Untuk menentukan beberapa tindakan, hingga 255, menambahkan beberapa bidang bootstrapAction. Perilaku defaultnya adalah memulai klaster tanpa tindakan bootstrap. | String | 
| konfigurasi | Konfigurasi untuk klaster Amazon EMR. Parameter ini hanya berlaku untuk Amazon EMR versi 4.0 dan yang lebih baru. | Objek Referensi, misalnya, "configuration":\$1"ref":"myEmrConfigurationId"\$1 | 
| coreInstanceBidHarga | Harga spot maksimum yang bersedia Anda bayarkan untuk Instans Amazon EC2. Jika harga tawaran ditentukan, Amazon EMR menggunakan Instans Spot untuk grup instans. Ditentukan dalam USD. | String | 
| coreInstanceCount | Jumlah simpul inti yang digunakan untuk klaster. | Bilangan Bulat | 
| coreInstanceType | Tipe instans Amazon EC2 yang digunakan untuk simpul inti. Lihat [Instans Amazon EC2 yang Didukung untuk klaster Amazon EMR](dp-emr-supported-instance-types.md). | String | 
| coreGroupConfiguration | Konfigurasi untuk grup instans inti klaster Amazon EMR. Parameter ini hanya berlaku untuk Amazon EMR versi 4.0 dan yang lebih baru. | Objek Referensi, misalnya “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| coreEbsConfiguration | Konfigurasi untuk volume Amazon EBS yang akan melekat pada masing-masing simpul inti dalam kelompok inti di klaster Amazon EMR. Untuk informasi selengkapnya, lihat [Jenis Instans yang Mendukung Optimasi EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) di Panduan Pengguna Amazon EC2. | Objek Referensi, misalnya “coreEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| customAmiId | Berlaku hanya untuk Amazon EMR rilis versi 5.7.0 dan yang lebih baru. Menentukan ID AMI dari AMI kustom yang akan digunakan saat Amazon EMR menyediakan instans Amazon EC2. Ini juga dapat digunakan sebagai pengganti tindakan bootstrap untuk menyesuaikan konfigurasi node cluster. Untuk informasi selengkapnya, lihat topik berikut di Panduan Manajemen EMR Amazon. [Menggunakan AMI kustom](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html) | String | 
| EbsBlockDeviceConfig |  Konfigurasi perangkat blok Amazon EBS yang diminta terkait dengan grup instans. Termasuk sejumlah volume tertentu yang akan dikaitkan dengan setiap instans dalam grup instans. Termasuk `volumesPerInstance` dan `volumeSpecification`, di mana:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/datapipeline/latest/DeveloperGuide/dp-object-emrcluster.html)  | Objek Referensi, misalnya “EbsBlockDeviceConfig”: \$1“ref”: “myEbsBlockDeviceConfig”\$1 | 
| emrManagedMasterSecurityGroupId | Pengenal grup keamanan utama tambahan dari klaster Amazon EMR, yang mengikuti bentuk sg-01XXXX6a. Untuk informasi selengkapnya, lihat [Mengonfigurasi Grup Keamanan](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-groups.html) dalam Panduan Manajemen Amazon EMR. | String | 
| emrManagedSlaveSecurityGroupId | Pengenal grup keamanan budak tambahan dari klaster Amazon EMR, yang mengikuti bentuk sg-01XXXX6a. | String | 
| enableDebugging | Mengaktifkan debugging pada klaster Amazon EMR. | String | 
| failureAndRerunModus | Menjelaskan perilaku simpul konsumen ketika dependensi gagal atau menjalankan kembali. | Pencacahan | 
| hadoopSchedulerType | Jenis penjadwal klaster. Jenis yang valid adalah: PARALLEL\$1FAIR\$1SCHEDULING, PARALLEL\$1CAPACITY\$1SCHEDULING, dan DEFAULT\$1SCHEDULER. | Pencacahan | 
| httpProxy | Host proksi yang klien gunakan untuk ter-connect ke layanan AWS. | Objek Referensi, misalnya, “HttpProxy”: \$1"ref”:” myHttpProxy Id "\$1 | 
| initTimeout | Jumlah waktu untuk menunggu sumber daya dimulai.  | Periode | 
| keyPair | Pasangan kunci Amazon EC2 untuk digunakan untuk masuk ke simpul utama klaster Amazon EMR. | String | 
| lateAfterTimeout | Waktu berlalu setelah alur mulai di mana objek harus menyelesaikan. Hal ini dipicu hanya ketika jenis jadwal tidak disetel ke ondemand. | Periode | 
| masterInstanceBidHarga | Harga spot maksimum yang bersedia Anda bayarkan untuk Instans Amazon EC2. Ini adalah nilai desimal antara 0 dan 20,00, eksklusif. Ditentukan dalam USD. Menetapkan nilai ini mengaktifkan Instans Spot untuk simpul utama klaster Amazon EMR. Jika harga tawaran ditentukan, Amazon EMR menggunakan Instans Spot untuk grup instans. | String | 
| masterInstanceType | Tipe instans Amazon EC2 yang digunakan untuk simpul utama. Lihat [Instans Amazon EC2 yang Didukung untuk klaster Amazon EMR](dp-emr-supported-instance-types.md). | String | 
| masterGroupConfiguration | Konfigurasi untuk grup instans utama klaster Amazon EMR. Parameter ini hanya berlaku untuk Amazon EMR versi 4.0 dan yang lebih baru. | Objek Referensi, misalnya “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| masterEbsConfiguration | Konfigurasi untuk volume Amazon EBS yang akan melekat pada masing-masing simpul utama dalam grup utama di klaster Amazon EMR. Untuk informasi selengkapnya, lihat [Jenis Instans yang Mendukung Optimasi EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) di Panduan Pengguna Amazon EC2. | Objek Referensi, misalnya “masterEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| maxActiveInstances | Jumlah maksimum instans aktif bersamaan dari suatu komponen. Re-runs tidak dihitung terhadap jumlah instans aktif. | Bilangan Bulat | 
| maximumRetries | Upaya jumlah maksimum mencoba lagi pada kegagalan. | Bilangan Bulat | 
| onFail | Tindakan untuk dijalankan ketika objek saat ini gagal. | Objek Referensi, misalnya, "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | Tindakan yang harus dipicu jika objek belum dijadwalkan atau masih belum selesai. | Objek Referensi, misalnya, "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | Tindakan untuk dijalankan ketika objek saat ini berhasil. | Objek Referensi, misalnya, "onSuccess":\$1"ref":"myActionId"\$1 | 
| induk | Induk dari objek saat ini dari mana slot diwariskan. | Objek Referensi, misalnya. "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | URI Amazon S3 (seperti 's3://BucketName/Key/ ') untuk mengunggah log untuk pipeline. | String | 
| region | Kode untuk wilayah tempat klaster Amazon EMR harus berjalan. Secara default, klaster berjalan di Wilayah yang sama dengan alur. Anda dapat menjalankan klaster di Wilayah yang sama sebagai set data bergantung.  | Pencacahan | 
| releaseLabel | Label rilis untuk klaster EMR. | String | 
| reportProgressTimeout | Timeout untuk panggilan berurutan kerja jarak jauh ke reportProgress. Jika disetel, maka kegiatan jarak jauh yang tidak melaporkan kemajuan untuk jangka waktu tertentu dapat dianggap terhenti dan jadi dicoba lagi. | Periode | 
| resourceRole | Peran IAM yang AWS Data Pipeline digunakan untuk membuat cluster EMR Amazon. Peran defaultya adalah DataPipelineDefaultRole.  | String | 
| retryDelay | Durasi timeout antara dua upaya coba lagi. | Periode | 
| peran | IAM role diteruskan ke Amazon EMR untuk membuat simpul EC2. | String | 
| runsOn | Bidang ini tidak diizinkan pada objek ini. | Objek Referensi, misalnya, "runsOn":\$1"ref":"myResourceId"\$1 | 
| SecurityConfiguration | Pengidentifikasi konfigurasi keamanan EMR yang akan diterapkan ke cluster. Parameter ini hanya berlaku untuk Amazon EMR versi 4.8.0 dan yang lebih baru. | String | 
| serviceAccessSecurityGroupId | Pengenal grup keamanan akses layanan klaster Amazon EMR.  | String. Ini mengikuti bentuk sg-01XXXX6a, misalnya, sg-1234abcd. | 
| scheduleType | Jenis jadwal mengizinkan Anda untuk menentukan apakah objek dalam definisi alur Anda harus dijadwalkan pada awal interval, atau akhir interval. Nilai adalah: cron, ondemand, dan timeseries. Penjadwalan timeseries berarti bahwa instans dijadwalkan pada akhir setiap interval. Penjadwalan cron berarti bahwa instans dijadwalkan pada awal setiap interval. Jadwal ondemand mengizinkan Anda untuk menjalankan alur satu kali per aktivasi. Anda tidak perlu meng-klon atau membuat ulang alur untuk menjalankannya lagi. Jika Anda menggunakan jadwal ondemand itu harus ditentukan dalam objek default dan harus menjadi satu-satunya scheduleType yang ditentukan untuk objek dalam alur. Untuk menggunakan alur ondemand, panggil operasi ActivatePipeline untuk setiap putaran berikutnya. | Pencacahan | 
| subnetId | Pengenal subnet ke tempat untuk meluncurkan klaster Amazon EMR. | String | 
| supportedProducts | Parameter yang menginstal perangkat lunak pihak ke tiga pada klaster Amazon EMR, misalnya, distribusi pihak ke tiga Hadoop. | String | 
| taskInstanceBidHarga | Harga spot maksimum yang bersedia Anda bayarkan untuk instans EC2. Nilai desimal antara 0 dan 20,00, eksklusif. Ditentukan dalam USD. Jika harga tawaran ditentukan, Amazon EMR menggunakan Instans Spot untuk grup instans. | String | 
| taskInstanceCount | Jumlah simpul tugas untuk digunakan untuk klaster Amazon EMR. | Bilangan Bulat | 
| taskInstanceType | Tipe instans Amazon EC2 yang digunakan untuk simpul tugas. | String | 
| taskGroupConfiguration | Konfigurasi untuk grup instans tugas klaster Amazon EMR. Parameter ini hanya berlaku untuk Amazon EMR versi 4.0 dan yang lebih baru.  | Objek Referensi, misalnya “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| taskEbsConfiguration | Konfigurasi untuk volume Amazon EBS yang akan melekat pada masing-masing simpul tugas dalam grup tugas di klaster Amazon EMR. Untuk informasi selengkapnya, lihat [Jenis Instans yang Mendukung Optimasi EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) di Panduan Pengguna Amazon EC2. | Objek Referensi, misalnya “taskEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| terminateAfter | Mengakhiri sumber daya setelah berjam-jam ini. | Bilangan Bulat | 
| VolumeSpecification |   Spesifikasi volume Amazon EBS, seperti jenis volume, IOPS, dan ukuran dalam Gigibytes (GiB) yang akan diminta untuk volume Amazon EBS terlampir ke instans Amazon EC2 dalam klaster Amazon EMR. Simpul bisa menjadi inti, utama atau simpul tugas.  `VolumeSpecification` termasuk: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/datapipeline/latest/DeveloperGuide/dp-object-emrcluster.html)  | Objek Referensi, misalnya “VolumeSpecification”: \$1“ref”: “myVolumeSpecification”\$1 | 
| useOnDemandOnLastAttempt | Pada upaya terakhir untuk meminta sumber daya, buat permintaan untuk Instans Sesuai Permintaan daripada Instans Spot. Hal ini memastikan bahwa jika semua upaya sebelumnya telah gagal, upaya terakhir tidak terganggu.  | Boolean | 
| workerGroup | Bidang tidak diizinkan pada objek ini. | String | 

 


****  

| Bidang Runtime | Deskripsi | Jenis Slot | 
| --- | --- | --- | 
| @activeInstances | Daftar objek instans aktif terjadwal saat ini. | Objek Referensi, misalnya, “ActiveInstances”: \$1"ref”:” Id "\$1 myRunnableObject | 
| @actualEndTime | Waktu ketika eksekusi objek ini selesai. | DateTime | 
| @actualStartTime | Waktu ketika eksekusi objek ini dimulai. | DateTime | 
| cancellationReason | cancellationReason jika objek ini dibatalkan. | String | 
| @cascadeFailedOn | Deskripsi rantai dependensi tempat objek gagal. | Objek Referensi, misalnya, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Log langkah tersedia hanya pada upaya aktivitas Amazon EMR. | String | 
| errorId | ID kesalahan jika objek ini gagal. | String | 
| errorMessage | Pesan galat jika objek ini gagal. | String | 
| errorStackTrace | Jejak tumpukan kesalahan jika objek ini gagal. | String | 
| @failureReason | Alasan kegagalan sumber daya. | String | 
| @finishedTime | Waktu saat objek ini menyelesaikan eksekusinya. | DateTime | 
| hadoopJobLog | Log tugas Hadoop yang tersedia pada upaya untuk aktivitas Amazon EMR. | String | 
| @healthStatus | Status kondisi objek yang mencerminkan keberhasilan atau kegagalan instans objek terakhir yang mencapai keadaan dihentikan. | String | 
| @healthStatusFromInstanceId | ID dari objek instans terakhir yang mencapai keadaan dihentikan. | String | 
| @ healthStatusUpdated Waktu | Waktu di mana status kondisi diperbarui terakhir kali. | DateTime | 
| hostname | Nama host klien yang mengambil upaya tugas. | String | 
| @lastDeactivatedTime | Waktu di mana objek ini terakhir dinonaktifkan. | DateTime | 
| @ latestCompletedRun Waktu | Waktu proses terakhir yang eksekusinya selesai. | DateTime | 
| @latestRunTime | Waktu proses terakhir untuk eksekusi yang dijadwalkan. | DateTime | 
| @nextRunTime | Waktu run yang akan dijadwalkan berikutnya. | DateTime | 
| reportProgressTime | Waktu terbaru bahwa aktivitas jarak jauh melaporkan kemajuan. | DateTime | 
| @scheduledEndTime | Jadwalkan akhir waktu untuk objek. | DateTime | 
| @scheduledStartTime | Jadwalkan waktu mulai untuk objek. | DateTime | 
| @status | Status objek ini. | String | 
| @version | Versi alur dengan objek yang dibuat. | String | 
| @waitingOn | Deskripsi daftar dependensi yang menunggu objek ini. | Objek Referensi, misalnya, “WaitingOn”: \$1"ref”:” Id "\$1 myRunnableObject | 

 


****  

| Bidang Sistem | Deskripsi | Jenis Slot | 
| --- | --- | --- | 
| @error | Galat menggambarkan objek yang tidak terbentuk. | String | 
| @pipelineId | ID dari alur tempat objek ini berada. | String | 
| @sphere | Tempat objek dalam siklus hidup. objek komponen memunculkan objek instans, yang mengeksekusi objek percobaan. | String | 

# Contoh
<a name="emrcluster-example"></a>

Berikut ini adalah contoh jenis objek ini.

**Topics**
+ [Meluncurkan klaster Amazon EMR dengan hadoopVersion](emrcluster-example-launch.md)
+ [Meluncurkan klaster Amazon EMR dengan label rilis emr-4.x atau lebih besar](emrcluster-example-release-label.md)
+ [Menginstal perangkat lunak tambahan pada klaster Amazon EMR Anda](emrcluster-example-install-software.md)
+ [Nonaktifkan enkripsi sisi server pada rilis 3.x](emrcluster-example1-disable-encryption.md)
+ [Nonaktifkan enkripsi sisi server pada rilis 4.x](emrcluster-example2-disable-encryption.md)
+ [Konfigurasikan Hadoop KMS ACLs dan buat zona enkripsi di HDFS](emrcluster-example-hadoop-kms.md)
+ [Tentukan IAM role khusus](emrcluster-example-custom-iam-roles.md)
+ [Menggunakan EmrCluster Sumber Daya di AWS SDK for Java](emrcluster-example-java.md)
+ [Mengonfigurasi klaster Amazon EMR di subnet privat](emrcluster-example-private-subnet.md)
+ [Melampirkan volume EBS ke simpul klaster](emrcluster-example-ebs.md)

# Meluncurkan klaster Amazon EMR dengan hadoopVersion
<a name="emrcluster-example-launch"></a>

**Example**  <a name="example1"></a>
Contoh berikut meluncurkan sebuah klaster Amazon EMR menggunakan AMI versi 1.0 dan Hadoop 0.20.  

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "hadoopVersion" : "0.20",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m3.xlarge",
  "taskInstanceCount": "10",
  "bootstrapAction" : ["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,arg1,arg2,arg3","s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop/configure-other-stuff,arg1,arg2"]
}
```

# Meluncurkan klaster Amazon EMR dengan label rilis emr-4.x atau lebih besar
<a name="emrcluster-example-release-label"></a>

**Example**  
Contoh berikut meluncurkan klaster Amazon EMR menggunakan bidang `releaseLabel` yang lebih baru:  

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m3.xlarge",
  "taskInstanceCount": "10",
  "releaseLabel": "emr-4.1.0",
  "applications": ["spark", "hive", "pig"],
  "configuration": {"ref":"myConfiguration"}  
}
```

# Menginstal perangkat lunak tambahan pada klaster Amazon EMR Anda
<a name="emrcluster-example-install-software"></a>

**Example**  <a name="example2"></a>
`EmrCluster` menyediakan bidang `supportedProducts` yang menginstal perangkat lunak pihak ke tiga pada klaster Amazon EMR, misalnya, memungkinkan Anda menginstal distribusi kustom Hadoop, seperti MapR. Ia menerima daftar dipisahkan koma argumen untuk perangkat lunak pihak ke tiga untuk membaca dan bertindak. Contoh berikut menunjukkan cara menggunakan bidang `supportedProducts` dari `EmrCluster` untuk membuat klaster edisi MapR M3 kustom dengan Karmasphere Analytics terinstal, dan menjalankan objek `EmrActivity` di atasnya.  

```
{
    "id": "MyEmrActivity",
    "type": "EmrActivity",
    "schedule": {"ref": "ResourcePeriod"},
    "runsOn": {"ref": "MyEmrCluster"},
    "postStepCommand": "echo Ending job >> /mnt/var/log/stepCommand.txt",    
    "preStepCommand": "echo Starting job > /mnt/var/log/stepCommand.txt",
    "step": "/home/hadoop/contrib/streaming/hadoop-streaming.jar,-input,s3n://elasticmapreduce/samples/wordcount/input,-output, \
     hdfs:///output32113/,-mapper,s3n://elasticmapreduce/samples/wordcount/wordSplitter.py,-reducer,aggregate"
  },
  {    
    "id": "MyEmrCluster",
    "type": "EmrCluster",
    "schedule": {"ref": "ResourcePeriod"},
    "supportedProducts": ["mapr,--edition,m3,--version,1.2,--key1,value1","karmasphere-enterprise-utility"],
    "masterInstanceType": "m3.xlarge",
    "taskInstanceType": "m3.xlarge"
}
```

# Nonaktifkan enkripsi sisi server pada rilis 3.x
<a name="emrcluster-example1-disable-encryption"></a>

**Example**  <a name="example3"></a>
`EmrCluster`Aktivitas dengan Hadoop versi 2.x yang dibuat oleh AWS Data Pipeline mengaktifkan enkripsi sisi server secara default. Jika Anda ingin nonaktifkan enkripsi sisi server, Anda harus menentukan tindakan bootstrap dalam definisi objek klaster.  
Contoh berikut membuat aktivitas `EmrCluster` dengan enkripsi sisi server dinonaktifkan:  

```
{  
   "id":"NoSSEEmrCluster",
   "type":"EmrCluster",
   "hadoopVersion":"2.x",
   "keyPair":"my-key-pair",
   "masterInstanceType":"m3.xlarge",
   "coreInstanceType":"m3.large",
   "coreInstanceCount":"10",
   "taskInstanceType":"m3.large",
   "taskInstanceCount":"10",
   "bootstrapAction":["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-e, fs.s3.enableServerSideEncryption=false"]
}
```

# Nonaktifkan enkripsi sisi server pada rilis 4.x
<a name="emrcluster-example2-disable-encryption"></a>

**Example**  <a name="example4"></a>
Anda harus nonaktifkan enkripsi sisi server menggunakan objek `EmrConfiguration`.  
Contoh berikut membuat aktivitas `EmrCluster` dengan enkripsi sisi server dinonaktifkan:  

```
   {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.1.0",
      "applications": ["spark", "hive", "pig"],
      "id": "myResourceId",
      "type": "EmrCluster",
      "configuration": {
        "ref": "disableSSE"
      }
    },
    {
      "name": "disableSSE",
      "id": "disableSSE",
      "type": "EmrConfiguration",
      "classification": "emrfs-site",
      "property": [{
        "ref": "enableServerSideEncryption"
      }
      ]
    },
    {
      "name": "enableServerSideEncryption",
      "id": "enableServerSideEncryption",
      "type": "Property",
      "key": "fs.s3.enableServerSideEncryption",
      "value": "false"
    }
```

# Konfigurasikan Hadoop KMS ACLs dan buat zona enkripsi di HDFS
<a name="emrcluster-example-hadoop-kms"></a>

**Example**  <a name="example5"></a>
Objek berikut dibuat ACLs untuk Hadoop KMS dan membuat zona enkripsi dan kunci enkripsi yang sesuai di HDFS:  

```
{
      "name": "kmsAcls",
      "id": "kmsAcls",
      "type": "EmrConfiguration",
      "classification": "hadoop-kms-acls",
      "property": [
        {"ref":"kmsBlacklist"},
        {"ref":"kmsAcl"}
      ]
    },
    {
      "name": "hdfsEncryptionZone",
      "id": "hdfsEncryptionZone",
      "type": "EmrConfiguration",
      "classification": "hdfs-encryption-zones",
      "property": [
        {"ref":"hdfsPath1"},
        {"ref":"hdfsPath2"}
      ]
    },
    {
      "name": "kmsBlacklist",
      "id": "kmsBlacklist",
      "type": "Property",
      "key": "hadoop.kms.blacklist.CREATE",
      "value": "foo,myBannedUser"
    },
    {
      "name": "kmsAcl",
      "id": "kmsAcl",
      "type": "Property",
      "key": "hadoop.kms.acl.ROLLOVER",
      "value": "myAllowedUser"
    },
    {
      "name": "hdfsPath1",
      "id": "hdfsPath1",
      "type": "Property",
      "key": "/myHDFSPath1",
      "value": "path1_key"
    },
    {
      "name": "hdfsPath2",
      "id": "hdfsPath2",
      "type": "Property",
      "key": "/myHDFSPath2",
      "value": "path2_key"
    }
```

# Tentukan IAM role khusus
<a name="emrcluster-example-custom-iam-roles"></a>

**Example**  <a name="example6"></a>
Secara default, AWS Data Pipeline diteruskan `DataPipelineDefaultRole` sebagai peran layanan EMR Amazon dan `DataPipelineDefaultResourceRole` sebagai profil instans Amazon EC2 untuk membuat sumber daya atas nama Anda. Namun, Anda dapat membuat peran layanan EMR Amazon khusus dan profil instans khusus dan menggunakannya sebagai gantinya. AWS Data Pipeline harus memiliki izin yang cukup untuk membuat cluster menggunakan peran khusus, dan Anda harus menambahkan AWS Data Pipeline sebagai entitas tepercaya.  
Contoh berikut objek menentukan peran kustom untuk klaster Amazon EMR:  

```
{  
   "id":"MyEmrCluster",
   "type":"EmrCluster",
   "hadoopVersion":"2.x",
   "keyPair":"my-key-pair",
   "masterInstanceType":"m3.xlarge",
   "coreInstanceType":"m3.large",
   "coreInstanceCount":"10",
   "taskInstanceType":"m3.large",
   "taskInstanceCount":"10",
   "role":"emrServiceRole",
   "resourceRole":"emrInstanceProfile"
}
```

# Menggunakan EmrCluster Sumber Daya di AWS SDK for Java
<a name="emrcluster-example-java"></a>

**Example**  <a name="example7"></a>
Contoh berikut menunjukkan cara menggunakan `EmrCluster` dan `EmrActivity` untuk membuat klaster Amazon EMR 4.x untuk menjalankan langkah Spark menggunakan Java SDK:  

```
public class dataPipelineEmr4 {

  public static void main(String[] args) {
    
	AWSCredentials credentials = null;
	credentials = new ProfileCredentialsProvider("/path/to/AwsCredentials.properties","default").getCredentials();
	DataPipelineClient dp = new DataPipelineClient(credentials);
	CreatePipelineRequest createPipeline = new CreatePipelineRequest().withName("EMR4SDK").withUniqueId("unique");
	CreatePipelineResult createPipelineResult = dp.createPipeline(createPipeline);
	String pipelineId = createPipelineResult.getPipelineId();
    
	PipelineObject emrCluster = new PipelineObject()
	    .withName("EmrClusterObj")
	    .withId("EmrClusterObj")
	    .withFields(
			new Field().withKey("releaseLabel").withStringValue("emr-4.1.0"),
			new Field().withKey("coreInstanceCount").withStringValue("3"),
			new Field().withKey("applications").withStringValue("spark"),
			new Field().withKey("applications").withStringValue("Presto-Sandbox"),
			new Field().withKey("type").withStringValue("EmrCluster"),
			new Field().withKey("keyPair").withStringValue("myKeyName"),
			new Field().withKey("masterInstanceType").withStringValue("m3.xlarge"),
			new Field().withKey("coreInstanceType").withStringValue("m3.xlarge")        
			);
  
	PipelineObject emrActivity = new PipelineObject()
	    .withName("EmrActivityObj")
	    .withId("EmrActivityObj")
	    .withFields(
			new Field().withKey("step").withStringValue("command-runner.jar,spark-submit,--executor-memory,1g,--class,org.apache.spark.examples.SparkPi,/usr/lib/spark/lib/spark-examples.jar,10"),
			new Field().withKey("runsOn").withRefValue("EmrClusterObj"),
			new Field().withKey("type").withStringValue("EmrActivity")
			);
      
	PipelineObject schedule = new PipelineObject()
	    .withName("Every 15 Minutes")
	    .withId("DefaultSchedule")
	    .withFields(
			new Field().withKey("type").withStringValue("Schedule"),
			new Field().withKey("period").withStringValue("15 Minutes"),
			new Field().withKey("startAt").withStringValue("FIRST_ACTIVATION_DATE_TIME")
			);
      
	PipelineObject defaultObject = new PipelineObject()
	    .withName("Default")
	    .withId("Default")
	    .withFields(
			new Field().withKey("failureAndRerunMode").withStringValue("CASCADE"),
			new Field().withKey("schedule").withRefValue("DefaultSchedule"),
			new Field().withKey("resourceRole").withStringValue("DataPipelineDefaultResourceRole"),
			new Field().withKey("role").withStringValue("DataPipelineDefaultRole"),
			new Field().withKey("pipelineLogUri").withStringValue("s3://myLogUri"),
			new Field().withKey("scheduleType").withStringValue("cron")
			);     
      
	List<PipelineObject> pipelineObjects = new ArrayList<PipelineObject>();
    
	pipelineObjects.add(emrActivity);
	pipelineObjects.add(emrCluster);
	pipelineObjects.add(defaultObject);
	pipelineObjects.add(schedule);
    
	PutPipelineDefinitionRequest putPipelineDefintion = new PutPipelineDefinitionRequest()
	    .withPipelineId(pipelineId)
	    .withPipelineObjects(pipelineObjects);
    
	PutPipelineDefinitionResult putPipelineResult = dp.putPipelineDefinition(putPipelineDefintion);
	System.out.println(putPipelineResult);
    
	ActivatePipelineRequest activatePipelineReq = new ActivatePipelineRequest()
	    .withPipelineId(pipelineId);
	ActivatePipelineResult activatePipelineRes = dp.activatePipeline(activatePipelineReq);
	
      System.out.println(activatePipelineRes);
      System.out.println(pipelineId);
    
    }

}
```

# Mengonfigurasi klaster Amazon EMR di subnet privat
<a name="emrcluster-example-private-subnet"></a>

**Example**  <a name="example8"></a>
Contoh ini mencakup konfigurasi yang meluncurkan klaster ke subnet privat di VPC. Untuk informasi selengkapnya, lihat [Peluncuran Klaster Amazon EMR ke VPC](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-vpc-launching-job-flows.html) di *Panduan Pengelolaan Amazon EMR*. Konfigurasi ini opsional. Anda dapat menggunakannya dalam setiap alur yang menggunakan objek `EmrCluster`.  
Untuk meluncurkan klaster Amazon EMR di subnet privat, tentukan `SubnetId`, `emrManagedMasterSecurityGroupId`, `emrManagedSlaveSecurityGroupId`, dan `serviceAccessSecurityGroupId` di konfigurasi `EmrCluster` Anda.  

```
{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "false"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "tableName": "#{myDDBTableName}"
    },
    {
      "directoryPath": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}",
      "name": "S3BackupLocation",
      "id": "S3BackupLocation",
      "type": "S3DataNode"
    },
    {
      "name": "EmrClusterForBackup",
      "coreInstanceCount": "1",
      "taskInstanceCount": "1",
      "taskInstanceType": "m4.xlarge",
      "coreInstanceType": "m4.xlarge",
      "releaseLabel": "emr-4.7.0",
      "masterInstanceType": "m4.xlarge",
      "id": "EmrClusterForBackup",
      "subnetId": "#{mySubnetId}",
      "emrManagedMasterSecurityGroupId": "#{myMasterSecurityGroup}",
      "emrManagedSlaveSecurityGroupId": "#{mySlaveSecurityGroup}",
      "serviceAccessSecurityGroupId": "#{myServiceAccessSecurityGroup}",
      "region": "#{myDDBRegion}",
      "type": "EmrCluster",
      "keyPair": "user-key-pair"
    },
    {
      "failureAndRerunMode": "CASCADE",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "#{myPipelineLogUri}",
      "scheduleType": "ONDEMAND",
      "name": "Default",
      "id": "Default"
    }
  ],
  "parameters": [
    {
      "description": "Output S3 folder",
      "id": "myOutputS3Loc",
      "type": "AWS::S3::ObjectKey"
    },
    {
      "description": "Source DynamoDB table name",
      "id": "myDDBTableName",
      "type": "String"
    },
    {
      "default": "0.25",
      "watermark": "Enter value between 0.1-1.0",
      "description": "DynamoDB read throughput ratio",
      "id": "myDDBReadThroughputRatio",
      "type": "Double"
    },
    {
      "default": "us-east-1",
      "watermark": "us-east-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
     "myDDBRegion": "us-east-1",
      "myDDBTableName": "ddb_table",
      "myDDBReadThroughputRatio": "0.25",
      "myOutputS3Loc": "s3://s3_path",
      "mySubnetId": "subnet_id",
      "myServiceAccessSecurityGroup":  "service access security group",
      "mySlaveSecurityGroup": "slave security group",
      "myMasterSecurityGroup": "master security group",
      "myPipelineLogUri": "s3://s3_path"
  }
}
```

# Melampirkan volume EBS ke simpul klaster
<a name="emrcluster-example-ebs"></a>

**Example**  <a name="example8"></a>
Anda dapat melampirkan volume EBS untuk semua jenis simpul di klaster EMR dalam alur Anda. Untuk melampirkan volume EBS ke simpul, gunakan `coreEbsConfiguration`, `masterEbsConfiguration`, dan `TaskEbsConfiguration` di konfigurasi `EmrCluster` Anda.   
Contoh klaster Amazon EMR ini menggunakan volume Amazon EBS untuk master, tugas, dan simpul intinya. Untuk informasi selengkapnya, lihat [Volume Amazon EBS di Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-storage.html) di *Panduan Pengelolaan Amazon EMR*.  
Konfigurasi ini bersifat opsional. Anda dapat menggunakannya dalam setiap alur yang menggunakan objek `EmrCluster`.  
Dalam alur, klik konfigurasi objek `EmrCluster`, memilih **Konfigurasi Utama EBS**, **Konfigurasi Inti EBS**, atau **Konfigurasi EBS Tugas**, dan memasukkan detail konfigurasi yang serupa dengan contoh berikut.  

```
{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "false"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "tableName": "#{myDDBTableName}"
    },
    {
      "directoryPath": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}",
      "name": "S3BackupLocation",
      "id": "S3BackupLocation",
      "type": "S3DataNode"
    },
    {
      "name": "EmrClusterForBackup",
      "coreInstanceCount": "1",
      "taskInstanceCount": "1",
      "taskInstanceType": "m4.xlarge",
      "coreInstanceType": "m4.xlarge",
      "releaseLabel": "emr-4.7.0",
      "masterInstanceType": "m4.xlarge",
      "id": "EmrClusterForBackup",
      "subnetId": "#{mySubnetId}",
      "emrManagedMasterSecurityGroupId": "#{myMasterSecurityGroup}",
      "emrManagedSlaveSecurityGroupId": "#{mySlaveSecurityGroup}",
      "region": "#{myDDBRegion}",
      "type": "EmrCluster",
      "coreEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "masterEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "taskEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "keyPair": "user-key-pair"
    },
    {
       "name": "EBSConfiguration",
        "id": "EBSConfiguration",
        "ebsOptimized": "true",
        "ebsBlockDeviceConfig" : [
            { "ref": "EbsBlockDeviceConfig" }
        ],
        "type": "EbsConfiguration"
    },
    {
        "name": "EbsBlockDeviceConfig",
        "id": "EbsBlockDeviceConfig",
        "type": "EbsBlockDeviceConfig",
        "volumesPerInstance" : "2",
        "volumeSpecification" : {
            "ref": "VolumeSpecification"
        }
    },
    {
      "name": "VolumeSpecification",
      "id": "VolumeSpecification",
      "type": "VolumeSpecification",
      "sizeInGB": "500",
      "volumeType": "io1",
      "iops": "1000"
    },
    {
      "failureAndRerunMode": "CASCADE",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "#{myPipelineLogUri}",
      "scheduleType": "ONDEMAND",
      "name": "Default",
      "id": "Default"
    }
  ],
  "parameters": [
    {
      "description": "Output S3 folder",
      "id": "myOutputS3Loc",
      "type": "AWS::S3::ObjectKey"
    },
    {
      "description": "Source DynamoDB table name",
      "id": "myDDBTableName",
      "type": "String"
    },
    {
      "default": "0.25",
      "watermark": "Enter value between 0.1-1.0",
      "description": "DynamoDB read throughput ratio",
      "id": "myDDBReadThroughputRatio",
      "type": "Double"
    },
    {
      "default": "us-east-1",
      "watermark": "us-east-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
     "myDDBRegion": "us-east-1",
      "myDDBTableName": "ddb_table",
      "myDDBReadThroughputRatio": "0.25",
      "myOutputS3Loc": "s3://s3_path",
      "mySubnetId": "subnet_id",
      "mySlaveSecurityGroup": "slave security group",
      "myMasterSecurityGroup": "master security group",
      "myPipelineLogUri": "s3://s3_path"
  }
}
```

## Lihat Juga
<a name="emrcluster-seealso"></a>
+ [EmrActivity](dp-object-emractivity.md)