Amazon S3 di Outposts dengan Amazon EMR lokal di Outposts - Amazon Simple Storage Service

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

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

Membuat dan mengonfigurasi bucket Amazon S3 di Outposts

Amazon EMR menggunakan AWS SDK for 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 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.

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. Menyiapkan IAM dengan S3 di Outposts

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 bahwa semua URI S3 Anda menggunakan skema. s3a Jika tidak, Anda dapat mengonfigurasi implementasi sistem file yang Anda gunakan untuk cluster EMR Anda sehingga URI S3 Anda 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 URI S3 yang Anda miliki. Untuk menggunakan contoh berikut, ganti user input placeholders dengan informasi Anda sendiri. Misalnya, untuk mengubah implementasi sistem file untuk URI S3 yang menggunakan s3 skema, tentukan properti konfigurasi cluster berikut:

[ { "Classification": "core-site", "Properties": { "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]

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

Misalnya, jika Anda mengakses jalurs3a://bucket/..., atur fs.s3a.impl properti keorg.apache.hadoop.fs.s3a.S3AFileSystem, dan setel fs.AbstractFileSystem.s3a.impl properti keorg.apache.hadoop.fs.s3a.S3A.

Memulai menggunakan Amazon EMR dengan Amazon S3 di Outposts

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

Membuat kebijakan izin

Sebelum Anda dapat membuat klaster 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. Menyiapkan IAM dengan S3 di Outposts

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 iniBuat dan konfigurasikan cluster Anda. Untuk menggunakan contoh ini, ganti user input placeholders dengan informasi Anda sendiri.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:s3-outposts:us-west-2:111122223333:outpost/op-01ac5d28a6a232904/accesspoint/access-point-name, "Action": [ "s3-outposts:*" ] } ] }

Buat dan konfigurasikan cluster Anda

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

  2. Pada panel navigasi sebelah kiri, pilih Klaster.

  3. Pilih Buat klaster.

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

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

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

    [ { "Classification": "core-site", "Properties": { "fs.s3a.bucket.DOC-EXAMPLE-BUCKET.accesspoint.arn": "arn:aws:s3-outposts:us-west-2:111122223333:outpost/op-01ac5d28a6a232904/accesspoint/access-point-name" "fs.s3a.committer.name": "magic", "fs.s3a.select.enabled": "false" } }, { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64" } } ], "Properties": {} }, { "Classification": "spark-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64" } } ], "Properties": {} }, { "Classification": "spark-defaults", "Properties": { "spark.executorEnv.JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64", "spark.sql.sources.fastS3PartitionDiscovery.enabled": "false" } } ]
  7. 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 Amazon. AWS Outposts

  8. Di bagian profil instans EC2 untuk Amazon EMR, pilih peran IAM yang memiliki kebijakan izin yang telah dilampirkan sebelumnya.

  9. Konfigurasikan setelan cluster Anda yang tersisa, lalu pilih Create cluster.

Ikhtisar konfigurasi

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

Konfigurasi S3A
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.

Konfigurasi percikan
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

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.

  • 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 di S3 di Outposts.

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