

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

# Amazon S3 di Outposts dengan Amazon EMR lokal di Outposts
<a name="s3-outposts-emr"></a>

Amazon EMR adalah platform cluster terkelola yang menyederhanakan menjalankan kerangka kerja data besar, seperti Apache Hadoop danApache Spark, AWS untuk memproses dan menganalisis sejumlah besar data. Dengan menggunakan kerangka kerja ini dan proyek sumber terbuka terkait, Anda dapat memproses data untuk tujuan analitik dan beban kerja intelijen bisnis. Amazon EMR juga membantu Anda mengubah dan memindahkan sejumlah besar data ke dalam dan keluar dari penyimpanan AWS data dan database lainnya, serta mendukung Amazon S3 di Outposts. *Untuk informasi selengkapnya tentang Amazon EMR, lihat Amazon [EMR di Outposts di Panduan Manajemen](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-outposts.html) EMR Amazon.* 

Untuk Amazon S3 di Outposts, Amazon EMR mulai mendukung konektor S3A di versi 7.0.0Apache Hadoop. Versi Amazon EMR sebelumnya tidak mendukung S3 lokal di Outposts, dan EMR File System (EMRFS) tidak didukung.

**Aplikasi-aplikasi yang didukung**  
Amazon EMR dengan Amazon S3 di Outposts mendukung aplikasi berikut: 
+ Hadoop
+ Spark
+ Hue
+ Hive
+ Sqoop
+ Pig
+ Hudi
+ Flink

Untuk informasi selengkapnya, lihat [Panduan Rilis Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html).

## Membuat dan mengonfigurasi bucket Amazon S3 di Outposts
<a name="create-outposts-bucket"></a>

Amazon EMR menggunakan AWS SDK untuk Java dengan Amazon S3 di Outposts untuk menyimpan data input dan data output. File log EMR Amazon Anda disimpan di lokasi Amazon S3 Regional yang Anda pilih dan tidak disimpan secara lokal di Outpost. Untuk informasi selengkapnya, lihat [log EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html) Amazon di Panduan Manajemen *EMR* Amazon. 

Agar sesuai dengan persyaratan Amazon S3 dan DNS, bucket S3 on Outposts memiliki batasan dan batasan penamaan. Untuk informasi selengkapnya, lihat [Membuat bucket S3 di Outposts](S3OutpostsCreateBucket.md).

Dengan Amazon EMR versi 7.0.0 dan yang lebih baru, Anda dapat menggunakan Amazon EMR dengan S3 di Outposts dan sistem file S3A.

**Prasyarat**  
Izin **S3 on Outposts** — Saat Anda membuat profil instans EMR Amazon, peran Anda harus berisi namespace (IAM) untuk S3 AWS Identity and Access Management di Outposts. S3 di Outposts memiliki namespace sendiri,. `s3-outposts*` Untuk contoh kebijakan yang menggunakan namespace ini, lihat. [Mengatur IAM dengan S3 di Outposts](S3OutpostsIAM.md)

**Konektor S3A** - Untuk mengonfigurasi kluster EMR Anda untuk mengakses data dari bucket Amazon S3 pada Outposts, Anda harus menggunakan konektor S3A. Apache Hadoop Untuk menggunakan konektor, pastikan semua S3 Anda URIs menggunakan `s3a` skema. Jika tidak, Anda dapat mengonfigurasi implementasi sistem file yang Anda gunakan untuk cluster EMR Anda sehingga S3 Anda URIs bekerja dengan konektor S3A.

Untuk mengonfigurasi implementasi sistem file agar berfungsi dengan konektor S3A, Anda menggunakan properti `fs.file_scheme.impl` dan `fs.AbstractFileSystem.file_scheme.impl` konfigurasi untuk cluster EMR Anda, yang `file_scheme` sesuai dengan jenis URIs S3 yang Anda miliki. Untuk menggunakan contoh berikut, ganti *`user input placeholders`* dengan informasi Anda sendiri. Misalnya, untuk mengubah implementasi sistem file untuk S3 URIs yang menggunakan `s3` skema, tentukan properti konfigurasi cluster berikut:

```
1. [
2.   {
3. "Classification": "core-site",
4.     "Properties": {
5.     "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem",
6.     "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A"
7.     }
8.   }
9. ]
```

Untuk menggunakan S3A, atur properti `fs.file_scheme.impl` konfigurasi ke`org.apache.hadoop.fs.s3a.S3AFileSystem`, dan setel `fs.AbstractFileSystem.file_scheme.impl` properti ke. `org.apache.hadoop.fs.s3a.S3A`

Misalnya, jika Anda mengakses jalur`s3a://bucket/...`, atur `fs.s3a.impl` properti ke`org.apache.hadoop.fs.s3a.S3AFileSystem`, dan setel `fs.AbstractFileSystem.s3a.impl` properti ke`org.apache.hadoop.fs.s3a.S3A`.

## Memulai menggunakan Amazon EMR dengan Amazon S3 di Outposts
<a name="getting-started-outposts"></a>

Topik berikut menjelaskan cara memulai menggunakan Amazon EMR dengan Amazon S3 di Outposts.

**Topics**
+ [Membuat kebijakan izin](#create-permission-policy)
+ [Buat dan konfigurasikan cluster Anda](#configure-cluster)
+ [Ikhtisar konfigurasi](#configurations-overview)
+ [Pertimbangan-pertimbangan](#considerations)

### Membuat kebijakan izin
<a name="create-permission-policy"></a>

Sebelum Anda dapat membuat kluster EMR yang menggunakan Amazon S3 di Outposts, Anda harus membuat kebijakan IAM untuk melampirkan ke profil instans Amazon EC2 untuk cluster. Kebijakan harus memiliki izin untuk mengakses jalur akses S3 di Outposts Nama Sumber Daya Amazon (ARN). Untuk informasi selengkapnya tentang membuat kebijakan IAM untuk S3 di Outposts, lihat. [Mengatur IAM dengan S3 di Outposts](S3OutpostsIAM.md) 

Kebijakan contoh berikut menunjukkan cara memberikan izin yang diperlukan. Setelah membuat kebijakan, lampirkan kebijakan ke peran profil instance yang Anda gunakan untuk membuat klaster EMR, seperti yang dijelaskan di bagian ini[Buat dan konfigurasikan cluster Anda](#configure-cluster). Untuk menggunakan contoh ini, ganti *`user input placeholders`*dengan informasi Anda sendiri.

```
 1. {
 2. "Version":"2012-10-17",		 	 	  
 3.   "Statement": [
 4.         {
 5.   "Effect": "Allow",
 6.             "Resource": "arn:aws:s3-outposts:us-west-2:111122223333:outpost/op-01ac5d28a6a232904/accesspoint/access-point-name,
 7.             "Action": [
 8.                 "s3-outposts:*"
 9.             ]
10.         }
11.     ]
12.     
13.  }
```

### Buat dan konfigurasikan cluster Anda
<a name="configure-cluster"></a>

Untuk membuat cluster yang menjalankan Spark dengan S3 di Outposts, selesaikan langkah-langkah berikut di konsol.

**Untuk membuat cluster yang berjalan Spark dengan S3 di Outposts**

1. Buka konsol Amazon EMR. di [https://console.aws.amazon.com/elasticmapreduce/](https://console.aws.amazon.com/elasticmapreduce/).

1. Pada panel navigasi sebelah kiri, pilih **Klaster**.

1. Pilih **Buat klaster**.

   

1. Untuk **rilis Amazon EMR**, pilih **emr-7.0.0**atau yang lebih baru.

1. Untuk bundel Aplikasi, pilih **Spark interaktif**. Kemudian pilih aplikasi lain yang didukung yang ingin Anda sertakan dalam cluster Anda.

1. Untuk mengaktifkan Amazon S3 di Outposts, masukkan pengaturan konfigurasi Anda.

**Contoh pengaturan konfigurasi**  
Untuk menggunakan pengaturan konfigurasi sampel berikut, ganti `user input placeholders` dengan informasi Anda sendiri.

   ```
    1. [
    2.  {
    3.    "Classification": "core-site",
    4.    "Properties": {
    5.      "fs.s3a.bucket.DOC-EXAMPLE-BUCKET.accesspoint.arn": "arn:aws:s3-outposts:us-west-2:111122223333:outpost/op-01ac5d28a6a232904/accesspoint/access-point-name"
    6.      "fs.s3a.committer.name": "magic", 
    7.      "fs.s3a.select.enabled": "false"
    8.     }
    9.   },
   10.   {
   11.     "Classification": "hadoop-env",
   12.     "Configurations": [
   13.       {
   14.         "Classification": "export",
   15.         "Properties": {
   16.           "JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64" 
   17.           }
   18.        }
   19.      ],
   20.      "Properties": {}
   21.    },
   22.    {
   23.      "Classification": "spark-env",
   24.      "Configurations": [
   25.        {
   26.          "Classification": "export",
   27.          "Properties": {
   28.            "JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64"
   29.          }
   30.        }
   31.       ],
   32.       "Properties": {}
   33.      },
   34.      {
   35.       "Classification": "spark-defaults",
   36.       "Properties": {
   37.         "spark.executorEnv.JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64",
   38.         "spark.sql.sources.fastS3PartitionDiscovery.enabled": "false"
   39.       }
   40.      }
   41.   ]
   ```

1. Di bagian **Networking**, pilih virtual private cloud (VPC) dan subnet yang ada di rak Anda. AWS Outposts *Untuk informasi selengkapnya tentang Amazon EMR di Outposts, lihat [kluster EMR di Panduan Manajemen EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-outposts.html) Amazon. AWS Outposts*

1. Di bagian **profil instans EC2 untuk Amazon EMR**, pilih peran IAM yang memiliki [kebijakan izin yang](#create-permission-policy) telah dilampirkan sebelumnya.

1. Konfigurasikan setelan cluster Anda yang tersisa, lalu pilih **Create cluster**.

### Ikhtisar konfigurasi
<a name="configurations-overview"></a>

Tabel berikut menjelaskan konfigurasi S3A dan nilai yang akan ditentukan parameternya saat Anda menyiapkan cluster yang menggunakan S3 di Outposts dengan Amazon EMR.


| Parameter | Nilai default | Nilai yang diperlukan untuk S3 di Outposts | Penjelasan | 
| --- | --- | --- | --- | 
|  `fs.s3a.aws.credentials.provider`  |  Jika tidak ditentukan, S3A akan mencari S3 di bucket Region dengan nama bucket Outposts.  |  Titik akses ARN dari ember S3 on Outposts  |  Amazon S3 di Outposts mendukung titik akses khusus virtual private cloud (VPC) sebagai satu-satunya cara untuk mengakses bucket Outposts.  | 
|  `fs.s3a.committer.name`  | file |  `magic`  |  Magic committer adalah satu-satunya committer yang didukung untuk S3 di Outposts.   | 
|  `fs.s3a.select.enabled`  |  `TRUE`  |  `FALSE`  | S3 Select tidak didukung di Outposts. | 
|  `JAVA_HOME`  |  `/usr/lib/jvm/java-8`  |  `/usr/lib/jvm/java-11-amazon-corretto.x86_64`  |  S3 di Outposts di Java S3A membutuhkan versi 11.  | 

Tabel berikut menjelaskan Spark konfigurasi dan nilai yang akan ditentukan untuk parameternya saat Anda menyiapkan klaster yang menggunakan S3 di Outposts dengan Amazon EMR.


| Parameter | Nilai default | Nilai yang diperlukan untuk S3 di Outposts | Penjelasan | 
| --- | --- | --- | --- | 
|  `spark.sql.sources.fastS3PartitionDiscovery.enabled`  |  `TRUE`  |  `FALSE`  |  S3 di Outposts tidak mendukung partisi cepat.  | 
|  `spark.executorEnv.JAVA_HOME`  |  `/usr/lib/jvm/java-8`  |  `/usr/lib/jvm/java-11-amazon-corretto.x86_64`  |  S3 di Outposts pada S3A membutuhkan Java versi 11.  | 

### Pertimbangan-pertimbangan
<a name="considerations"></a>

Pertimbangkan hal berikut saat Anda mengintegrasikan Amazon EMR dengan S3 pada bucket Outposts:
+ Amazon S3 di Outposts didukung dengan Amazon EMR versi 7.0.0 dan yang lebih baru.
+ Konektor S3A diperlukan untuk menggunakan S3 di Outposts dengan Amazon EMR. Hanya S3A yang memiliki fitur yang diperlukan untuk berinteraksi dengan S3 pada bucket Outposts. [Untuk informasi penyiapan konektor S3A, lihat Prasyarat.](#s3a-outposts-prerequisites) 
+ Amazon S3 di Outposts hanya mendukung enkripsi sisi server dengan kunci terkelola Amazon S3 (SSE-S3) dengan Amazon EMR. Untuk informasi selengkapnya, lihat [Enkripsi data dalam S3 di Outposts](s3-outposts-data-encryption.md).
+ Amazon S3 di Outposts tidak mendukung penulisan dengan S3A. FileOutputCommitter Menulis dengan S3A FileOutputCommitter pada S3 pada bucket Outposts menghasilkan kesalahan berikut: InvalidStorageClass: Kelas penyimpanan yang Anda tentukan tidak valid.
+ Amazon S3 di Outposts tidak didukung dengan Amazon EMR Tanpa Server atau Amazon EMR di EKS.
+ Log EMR Amazon disimpan di lokasi Amazon S3 Regional yang Anda pilih, dan tidak disimpan secara lokal di bucket S3 on Outposts.