Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Guía de migración: EMRFS al sistema de archivos S3A
A partir de la versión EMR-7.10.0, el sistema de archivos S3A es el conector de sistema de archivos/s3 predeterminado para los clústeres de EMR para todos los esquemas de archivos de S3, incluidos los siguientes:
s3://
s3n://
s3a://
Este cambio se aplica a todas las implementaciones de EMR EC2, incluidos los entornos EKS y EMR Serverless y Glue ETL.
Si desea seguir utilizando EMRFS, puede configurarlo añadiendo la siguiente propiedad al archivo de configuración: core-site.xml
<property> <name>fs.s3.impl</name> <value>com.amazon.ws.emr.hadoop.fs.EmrFileSystem</value> </property>
Migración de las configuraciones de EMRFS existentes a las configuraciones de S3A
El siguiente conjunto predefinido de configuraciones de EMRFS se traducirá automáticamente a sus correspondientes equivalentes de configuración de S3A. Cualquier configuración que se implemente actualmente mediante la sustitución de clústeres o tareas pasará sin problemas al sistema de archivos del S3A sin necesidad de realizar modificaciones o configuraciones manuales adicionales.
De forma predeterminada, esta función de mapeo de configuraciones se activa automáticamente. Los usuarios que deseen deshabilitar esta traducción automática pueden hacerlo añadiendo la siguiente propiedad al archivo de configuración core-site.xml.
<property> <name>fs.s3a.emrfs.compatibility.enable</name> <value>false</value> </property>
Nombre de la configuración de EMRFS | Nombre de la configuración S3A |
---|---|
fs.s3.aimd.AdjustWindow | fs.s3a.aimd.Ajustar ventana |
fs.s3.aimd.enabled | fs.s3a.aimd.habilitado |
fs.s3.aimd. Incrementar el incremento | FS.S3A.AIMD. Incrementar el incremento |
FS.S3.AIMD.InialRate | FS.S3A.AIMD.InitialRate |
FS.S3.AIMD.Max Intentos | FS.S3A.AIMD.Max intentos |
FS.S3.AIMD.min Rate | FS.S3A.AIMD.minRate |
FS.S3.AIMD. Factor de reducción | FS.S3A.AIMD. Factor de reducción |
fs.s3.sts.endpoint | fs.s3a.assumed.role.sts.endpoint |
fs.s3.sts. sessionDurationSeconds | fs.s3a.asumed.role.session.duración |
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.tamaño multiparte |
fs.s3. serverSideEncryption.kms. customEncryptionContext | fs.s3a.encriptación.contexto |
fs.s3. enableServerSideCifrado | fs.s3a.algoritmo de cifrado |
fs.s3. serverSideEncryption.kms.KeyID | fs.s3a.clave de cifrado |
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.habilitado |
Conexiones FS.S3.max | fs.s3a.conexión máxima |
FS.S3.max se reintenta | fs.s3a.retry.limit |
fs.s3.metadata.cache.caducidad.segundos | fs.s3a.metadata.cache.caducidad.segundos |
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. readFullyIntoBúfers.Optimización.Habilitada | fs.s3a. readFullyIntoBúfers.Optimización.Habilitada |
fs.S3. SignerType | fs.s3a.algoritmo de firma |
FS.S3. Clase de almacenamiento | fs.s3a.create.storage.class |
fs.s3.threadpool. Tamaño máximo | fs.s3a.threads.max |
fs.s3. useRequesterPaysEncabezado | 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.open. acceptsFileStatus |
fs.s3. conexión. maxIdleMilliSegundos | fs.s3a.connection.idle.time |
fs.s3.s3 AccessGrants .habilitado | fs.s3a.access.grants.enabled |
AccessGrantsfs.s3.s3. Recurra a IAM | fs.s3a.access.grants.fallback.to.iam |
Condiciones y limitaciones
-
Todos los motores EMR (Spark, Flink MapReduce, Tez, Hive, etc.) utilizarán el S3A como conector S3 predeterminado, excepto los motores Trino y Presto.
-
El EMR S3A no admite la integración con el EMR Ranger. Considere migrar a AWS Lake Formation.
-
AWS Lake Formation Support With RecordServer For EMR Spark with S3A no es compatible. Considere la posibilidad de utilizar el FGAC nativo de Spark.
-
AWS No se admite S3 Select.
-
La opción de limpiar periódicamente las cargas múltiples (MPU) incompletas no está disponible con el S3A. Considere la posibilidad de configurar la política de ciclo de vida de los cubos de S3 para limpiar los depósitos pendientes. MPUs
-
Para migrar de EMRFS a S3A con el cifrado S3 CSE-CUSTOM, es necesario reescribir el proveedor de claves personalizadas de una interfaz a otra. EMRFSRSAEncryptionMaterialsProvider
Consulte Configuración del CSE-CUSTOM del S3A para obtener más información. Los directorios de Amazon S3 creados con EMRFS se marcan con un sufijo '_$folder$', mientras que los directorios creados con el sistema de archivos S3A terminan con un sufijo '/', que es coherente con los directorios creados a través de la consola S3. AWS
Para usar un proveedor de credenciales de S3 personalizado, defina la propiedad de configuración de S3A
fs.s3a.aws.credentials.provider
con la misma clase de proveedor de credenciales que se utilizó anteriormente en la configuración de EMRFS.fs.s3.customAWSCredentialsProvider
Configuraciones de EMRFS no compatibles
Las siguientes configuraciones de EMRFS se identificaron como no compatibles u obsoletas y, en consecuencia, no se proporcionará ningún mapeo directo a sus homólogas de configuración S3A. Estas configuraciones específicas no se traducirán ni transferirán automáticamente durante la migración al sistema de archivos S3A.
Nombre de configuración de EMRFS | Motivo por el que no se admite |
---|---|
fs.s3.consistent | Amazon S3 ofrece una gran read-after-write coherencia |
fs.s3.consistent.dynamodb.endpoint | |
fs.s3.consistent. fastFirstRetrySegundos | |
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. Metadatos consistentes. Capacidad. Aumento automático. Factor | |
FS.S3.consistent.Metadata.Capacity.AutoIncremente.MaxRead | |
FS.S3.consistent.Metadata.Capacity.AutoIncrease.MaxWrite | |
fs.s3.consistent.metadata.condicional | |
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. pullWaitTimeSegundos | |
fs.s3.consistent.Notification.sqs.Queuename | |
fs.s3.consistent.RetryCount | |
fs.s3.cse. cryptoStorageMode | A diferencia de EMRFS, que usa el AWS SDK V1. El S3A usa el AWS SDK V2, donde estas opciones no son compatibles. |
fs.s3.cse. cryptoStorageMode. deleteInstructionFiles.habilitado | |
fs.S3.cse.Encryption v2. Habilitado | |
fs.S3.cse.Descripción de materiales. Habilitado | |
fs.s3.multipart.clean.age.threshold | El S3A no permite limpiar periódicamente las cargas incompletas de varias partes (MPU). En su lugar, configure la política de ciclo de vida de los cubos de S3 para limpiar los depósitos pendientes. MPUs |
fs.s3.multipart.clean.enabled | |
fs.s3.multipart.clean.jitter.max | La función se agregó para evitar que los hilos de carga de varias partes se atasquen o se vuelvan lentos. El S3A no presenta un problema similar y, por lo tanto, no es obligatorio. |
fs.s3.multipart.fraction.part.avg.completion.time | |
fs.s3.multipart.part.tries | |
fs.s3.multipart.th.fraction.parts.completada | |
fs.s3.instanceProfile.RetryCount | Se trata de configuraciones específicas de EMFS que no son necesarias en S3A debido a diferencias de funcionalidad y arquitectura. |
Perfil de instancia fs.S3. retryPeriodSeconds | |
fs.s3. externalStagedFiles. maxActiveTasks | |
fs.s3. Objeto de carpeta. Acción automática. Desactivado | |
fs.s3.FolderObject.AutoInsert | |
fs.s3.getObject. initialSocketTimeoutMilisegundos | |
fs.s3.listFiles.IncrementalFetch.Enabled | |
fs.s3. listFilesInPedido. includeDescendantsOfArchivos | |
fs.s3.ListObjects.EncodingType | |
fs.s3.buckets.create.region | |
fs.s3.configuration.load.enablebled | |
fs.s3.create. allowFileNameEndsWithFolderSuffix | |
fs.s3.open.LazyConnection.habilitado | |
fs.s3.region.fallback | |
fs.s3.region.RetryCount | |
fs.s3.region. retryPeriodSeconds | |
fs.s3.rename.algorithm.version | |
fs.s3.RequestHandler.Nombres de clase | |
fs.s3.requestStatistics.activado | |
fs.s3.requestStatistics.sinks | |
fs.s3. retryPeriodSeconds | |
FS.S3. Busca la estrategia | |
fs.s3.threadpool.buffer.size | |
fs.s3.threadpool. Tamaño máximo | |
fs.s3. useDirectoryHeaderAsFolderObject | |
fs.s3n.estado del archivo cache.enable | |
fs.s3.delete.retryCount | |
AccessGrantsfs.s3.s3. CacheSize | |
fs.s3.s3AccessGrants. retryDelayBase | |
fs.s3.s3. AccessGrants throttledRetryDelayBase | |
fs.s3.s3. Max AccessGrants se reintenta |