Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Panduan Migrasi: Sistem File EMRFS ke S3A
Dimulai dengan rilis EMR-7.10.0, S3A Filesystem adalah konektor filesystem/s3 default untuk cluster EMR untuk semua skema file S3, termasuk yang berikut:
s3://
s3n://
s3a://
Perubahan ini berlaku di semua penerapan EMR, termasuk, EKS, dan EMR Tanpa Server EC2, lingkungan Glue ETL.
Jika Anda ingin terus menggunakan EMRFS, Anda dapat mengonfigurasinya dengan menambahkan properti berikut ke file core-site.xml
konfigurasi:
<property> <name>fs.s3.impl</name> <value>com.amazon.ws.emr.hadoop.fs.EmrFileSystem</value> </property>
Migrasi Konfigurasi EMRFS yang Ada ke Konfigurasi S3A
Set konfigurasi EMRFS yang telah ditentukan berikut akan secara otomatis diterjemahkan ke setara konfigurasi S3A yang sesuai. Konfigurasi apa pun yang saat ini diterapkan melalui cluster atau penggantian pekerjaan akan bertransisi dengan mulus ke sistem file S3A tanpa memerlukan konfigurasi atau modifikasi manual tambahan.
Secara default, fitur pemetaan konfigurasi ini diaktifkan secara otomatis. Pengguna yang ingin menonaktifkan terjemahan otomatis ini dapat melakukannya dengan menambahkan properti berikut ke file konfigurasi core-site.xml.
<property> <name>fs.s3a.emrfs.compatibility.enable</name> <value>false</value> </property>
Nama Konfigurasi EMRFS | Nama Konfigurasi S3A |
---|---|
fs.s3.aimd.AdjustWindow | FS.S3A.AIMD.AdjustWindow |
fs.s3.aimd.enabled | fs.s3a.aimd.enabled |
fs.s3.aimd.IncreaseIncrement | FS.S3A.AIMD.IncreaseIncrement |
fs.s3.aimd.initialrate | fs.s3a.aimd.initialrate |
fs.s3.aimd.maxPercobaan | FS.S3A.AIMD.MaxAttrits |
FS.S3.AIMD.Minrate | fs.s3a.aimd.minrate |
FS.S3.AIMD.ReductionFactor | FS.S3A.AIMD.ReductionFactor |
fs.s3.sts.endpoint | fs.s3a.assumed.role.sts.endpoint |
fs.s3.sts. sessionDurationSeconds | fs.s3a.assumed.role.session.duration |
fs.s3.authorization.rolemapping | FS.S3A.Authorization.Rolemapping |
fs.s3.authorization.ugi.groupname.enabled | fs.s3a.authorization.ugi.groupname.enabled |
fs.s3. credentialsResolverClass | fs.s3a.credentials.resolver |
fs.s3n.multipart.uploads.enabled | fs.s3a.multipart.uploads.enabled |
fs.s3n.multipart.uploads.split.size | fs.s3a.multipart.size |
fs.s3. serverSideEncryption.kms. customEncryptionContext | fs.s3a.encryption.context |
fs.s3. enableServerSideEnkripsi | fs.s3a.encryption.algorithm |
fs.s3. serverSideEncryption.kms.keyID | fs.s3a.encryption.key |
fs.s3.cse.kms.region | fs.s3a.encryption.cse.kms.region |
fs.s3.authorization.audit.enabled | fs.s3a.authorization.audit.enabled |
fs.s3.buckets.create.enabled | fs.s3a.bucket.probe |
fs.s3.delete. maxBatchSize | fs.s3a.bulk.delete.page.size |
fs.s3.filestatus.metadata.enabled | fs.s3a.metadata.cache.enabled |
FS.S3.maxConnections | fs.s3a.connection.maximum |
fs.s3.maxRetries | fs.s3a.retry.limit |
fs.s3.metadata.cache.expiration.seconds | fs.s3a.metadata.cache.expiration.seconds |
fs.s3.buffer.dir | fs.s3a.buffer.dir |
fs.s3.canned.acl | fs.s3a.acl.default |
fs.s3.positioneDread.Optimization.Enabled | fs.s3a.positionedread.optimization.enabled |
fs.s3. readFullyIntoBuffers.optimization.enabled | fs.s3a. readFullyIntoBuffers.optimization.enabled |
FS.S3.SignerType | fs.s3a.signing-algoritma |
FS.S3.StorageClass | fs.s3a.create.storage.class |
fs.s3.threadpool.maxsize | fs.s3a.threads.max |
fs.s3. useRequesterPaysHeader | fs.s3a.requester.pays.enabled |
fs.s3n.block.size | fs.s3a.block.size |
fs.s3n.endpoint | fs.s3a.endpoint |
fs.s3n.ssl.enabled | fs.s3a.connection.ssl.enabled |
fs.s3.open. acceptsFileStatus | fs.s3a.terbuka. acceptsFileStatus |
fs.s3.koneksi. maxIdleMilliDetik | fs.s3a.connection.idle.time |
fs.s3.s3 .diaktifkan AccessGrants | fs.s3a.access.grants.enabled |
fs.s3.s3 AccessGrants .fallbackToIAM | fs.s3a.access.grants.fallback.to.iam |
Pertimbangan dan batasan
-
Semua mesin EMR — Spark,, Flink, Tez MapReduce, Hive dll akan menggunakan S3A sebagai konektor S3 default kecuali untuk mesin Trino dan Presto.
-
EMR S3A tidak mendukung integrasi dengan EMR Ranger. Pertimbangkan untuk bermigrasi ke AWS Lake Formation.
-
AWS Dukungan Lake Formation With RecordServer For EMR Spark dengan S3A tidak didukung - Pertimbangkan untuk menggunakan Spark Native FGAC.
-
AWS S3 Select tidak didukung.
-
Opsi untuk Membersihkan Unggahan Multi Bagian yang Tidak Lengkap (MPU) secara berkala tidak tersedia dengan S3A - Pertimbangkan untuk mengonfigurasi kebijakan siklus hidup bucket S3 untuk membersihkan yang menggantung. MPUs
-
Agar dapat bermigrasi dari EMRFS ke S3A saat menggunakan enkripsi S3 CSE-CUSTOM, Penyedia kunci khusus perlu ditulis ulang dari antarmuka ke antarmuka Keyring. EMRFSRSAEncryptionMaterialsProvider
Lihat pengaturan S3A CSE-CUSTOM untuk informasi lebih lanjut. Direktori Amazon S3 yang dibuat menggunakan EMRFS ditandai dengan akhiran '_$folder$', sedangkan direktori yang dibuat menggunakan sistem file S3A diakhiri dengan akhiran '/', yang konsisten dengan direktori yang dibuat melalui konsol S3. AWS
Untuk menggunakan penyedia kredensi S3 kustom, setel properti konfigurasi S3A
fs.s3a.aws.credentials.provider
dengan kelas penyedia kredensi yang sama yang sebelumnya digunakan dalam konfigurasi EMRFS.fs.s3.customAWSCredentialsProvider
Konfigurasi EMRFS yang tidak didukung
Konfigurasi EMRFS berikut telah diidentifikasi sebagai tidak didukung atau usang, dan akibatnya, tidak ada pemetaan langsung yang akan diberikan kepada rekan konfigurasi S3A mereka. Konfigurasi spesifik ini tidak akan diterjemahkan atau dibawa secara otomatis selama migrasi ke sistem file S3A.
Nama Konfigurasi EMRFS | Alasan Tidak Mendukung |
---|---|
fs.s3.konsisten | Amazon S3 memberikan read-after-writekonsistensi yang kuat |
fs.s3.consistent.dynamodb.endpoint | |
fs.s3.konsisten. fastFirstRetryDetik | |
fs.s3.consistent.fastlist | |
fs.s3.consistent.fastlist.batchSize | |
fs.s3.consistent.fastlist.prefetchmetadata | |
fs.s3.consistent.metadata.accesskey | |
fs.s3.consistent.metadata.autocreate | |
fs.s3.consistent.metadata.capacity.autoincrease | |
fs.s3.consistent.metadata.capacity.autoincrease.factor | |
fs.s3.consistent.metadata.capacity.autoincrease.maxRead | |
fs.s3.consistent.metadata.capacity.autoincrease.maxWrite | |
fs.s3.consistent.metadata.conditional | |
fs.s3.consistent.metadata.delete.ttl.enabled | |
fs.s3.consistent.metadata.delete.ttl.expiration.seconds | |
fs.s3.consistent.metadata.etag.verification.enabled | |
fs.s3.consistent.metadata.read.capacity | |
fs.s3.consistent.metadata.read.capacity.limit | |
fs.s3.consistent.metadata.secretkey | |
fs.s3.consistent.metadata.tableName | |
fs.s3.consistent.metadata.write.capacity | |
fs.s3.consistent.metadata.write.capacity.limit | |
fs.s3.consistent.notification. CloudWatch | |
fs.s3.consistent.notification.sqs | |
fs.s3.consistent.notification.sqs.batchsize | |
fs.s3.consistent.notification.sqs.custommsg | |
fs.s3.consistent.notification.sqs. pathReportLimit | |
fs.s3.consistent.notification.sqs. pullWaitTimeDetik | |
fs.s3.consistent.notification.sqs.queuename | |
fs.s3.consistent.RetryCount | |
fs.s3.cse. cryptoStorageMode | Tidak seperti EMRFS yang menggunakan AWS SDK V1. S3A menggunakan AWS SDK V2 di mana opsi ini tidak didukung. |
fs.s3.cse. cryptoStorageMode. deleteInstructionFiles.diaktifkan | |
fs.s3.cse.encryptionv2.enabled | |
fs.s3.cse.materialsdescription.enabled | |
fs.s3.multipart.clean.age.threshold | Bersihkan Unggahan Multi Bagian yang Tidak Lengkap (MPU) secara berkala tidak tersedia dengan S3A - Sebagai gantinya, konfigurasikan kebijakan siklus hidup bucket S3 untuk membersihkan yang menggantung. MPUs |
fs.s3.multipart.clean.enabled | |
fs.s3.multipart.clean.jitter.max | Fitur ini ditambahkan untuk menghindari utas unggahan multi-bagian macet atau lambat. S3A tidak menunjukkan masalah serupa dan karenanya tidak diperlukan. |
fs.s3.multipart.fraction.part.avg.completion.time | |
fs.s3.multipart.part.attempts | |
fs.s3.multipart.th.fraction.parts.complete | |
fs.s3.instanceprofile.retrycount | Ini adalah kerahasiaan khusus EMRFS yang tidak diperlukan di S3A karena perbedaan fungsionalitas dan arsitektur. |
fs.s3.InstanceProfile. retryPeriodSeconds | |
fs.s3. externalStagedFiles. maxActiveTasks | |
fs.s3.folderObject.autoaction.disabled | |
fs.s3.folderObject.AutoInsert | |
fs.s3.getObject. initialSocketTimeoutMilidetik | |
fs.s3.listfiles.incrementalfetch.enabled | |
fs.s3. listFilesInMemesan. includeDescendantsOfBerkas | |
fs.s3.listobjects.encodingType | |
fs.s3.buckets.create.region | |
fs.s3.configuration.load.enablebled | |
fs.s3.create. allowFileNameEndsWithFolderSuffix | |
fs.s3.open.lazyconnection.enabled | |
fs.s3.region.fallback | |
fs.s3.region.retryCount | |
fs.s3.region. retryPeriodSeconds | |
fs.s3.rename.algorithm.version | |
fs.s3.requestHandler.ClassNames | |
fs.s3.requeststatistics.Enabled | |
fs.s3.requeststatistics.sinks | |
fs.s3. retryPeriodSeconds | |
fs.s3.seekStrategy | |
fs.s3.threadpool.buffer.size | |
fs.s3.threadpool.maxsize | |
fs.s3. useDirectoryHeaderAsFolderObject | |
fs.s3n.filestatuscache.enable | |
fs.s3.delete.retrycount | |
fs.s3.s3 .CacheSize AccessGrants | |
AccessGrantsfs.s3.s3. retryDelayBase | |
AccessGrantsfs.s3.s3. throttledRetryDelayBasis | |
fs.s3.s3 .maxRetries AccessGrants |