As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Guia de migração: Sistema de arquivos EMRFS para S3A
A partir da versão EMR-7.10.0, o sistema de arquivos S3A é o conector padrão de sistema de arquivos/s3 para clusters do EMR para todos os esquemas de arquivos do S3, incluindo o seguinte:
s3://
s3n://
s3a://
Essa alteração se aplica a todas as implantações do EMR EC2, incluindo ambientes EKS e EMR Serverless e Glue ETL.
Se quiser continuar usando o EMRFS, você pode configurar isso adicionando a seguinte propriedade ao arquivo de core-site.xml
configuração:
<property> <name>fs.s3.impl</name> <value>com.amazon.ws.emr.hadoop.fs.EmrFileSystem</value> </property>
Migração das configurações existentes do EMRFS para as configurações do S3A
O seguinte conjunto predefinido de configurações do EMRFS será automaticamente traduzido para seus equivalentes de configuração S3A correspondentes. Todas as configurações atualmente implementadas por meio de substituições de cluster ou de tarefas farão a transição perfeita para o sistema de arquivos S3A sem exigir configurações ou modificações manuais adicionais.
Por padrão, esse recurso de mapeamento de configuração é ativado automaticamente. Os usuários que desejam desativar essa tradução automática podem fazer isso adicionando a seguinte propriedade ao arquivo de configuração core-site.xml.
<property> <name>fs.s3a.emrfs.compatibility.enable</name> <value>false</value> </property>
Nome da configuração do EMRFS | Nome da configuração S3A |
---|---|
fs.s3.aimd.AdjustWindow | fs.s3a.aimd.AdjustWindow |
fs.s3.aimd.enabled | fs.s3a.aimd.enabled |
fs.s3.aimd. incremento de aumento | FS.S3A.AIMD. Aumento do incremento |
fs.s3.aimd. Taxa inicial | fs.s3a.aimd. Taxa inicial |
fs.s3.aimd.máx. Tentativas | fs.s3a.aimd.máx. Tentativas |
Taxa de fs.s3.aimd.min | Taxa FS.S3A.AIMD.min |
FS.S3.AIMD. Fator de redução | FS.S3A.AIMD. Fator de redução |
fs.s3.sts.endpoint | fs.s3a.assumed.role.sts.endpoint |
fs.s3.sts. sessionDurationSeconds | fs.s3a.assumed.role.session.duration |
fs.s3.authorization.mapeamento de funções | fs.s3a.authorization.RoleMapping |
fs.s3.authorization.ugi.GroupName.enabled | fs.s3a.authorization.ugi.GroupName.enabled |
fs.3. 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.3. serverSideEncryption.kms. customEncryptionContext | fs.s3a.encryption.context |
fs.3. enableServerSideCriptografia | fs.s3a.encryption.algorithm |
fs.3. 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 |
Conexões FS.S3.max | fs.s3a.connection.maximum |
fs.s3.max Tentativas | 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.3. readFullyIntoBuffers.Otimização.Ativado | fs.s3a. readFullyIntoBuffers.Otimização.Ativado |
fs.s3.SignerType | fs.s3a.algoritmo de assinatura |
Classe de armazenamento fs.s3. | fs.s3a.create.storage.class |
fs.s3.threadpool.maxSize | fs.s3a.threads.max |
fs.3. useRequesterPayscabeçalho | 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.conexão. maxIdleMilliSegundos | fs.s3a.connection.idle.time |
fs.s3.s3 .habilitado AccessGrants | fs.s3a.access.grants.enabled |
AccessGrantsfs.s3.s3. Volte para o IAM | fs.s3a.access.grants.fallback.to.iam |
Condições e limitações
-
Todos os motores EMR — Spark, Flink, Tez MapReduce, Hive etc. usarão o S3A como o conector S3 padrão, exceto os motores Trino e Presto.
-
O EMR S3A não oferece suporte à integração com o EMR Ranger. Considere migrar para AWS Lake Formation.
-
AWS Não há suporte RecordServer para Lake Formation Support with For EMR Spark with S3A. Considere usar o Spark Native FGAC.
-
AWS O S3 Select não é suportado.
-
A opção de limpar periodicamente o upload incompleto de várias peças (MPU) não está disponível com o S3A - Considere configurar a política de ciclo de vida do bucket do S3 para eliminar pendências. MPUs
-
Para migrar do EMRFS para o S3A usando a criptografia S3 CSE-CUSTOM, o provedor de chave personalizada precisa ser reescrito da interface para a interface do Keyring. EMRFSRSAEncryptionMaterialsProvider
Consulte a configuração do S3A CSE-CUSTOM para obter mais informações. Os diretórios do Amazon S3 criados usando o EMRFS são marcados com o sufixo '_$folder$', enquanto os diretórios criados usando o sistema de arquivos S3A terminam com o sufixo '/', que é consistente com os diretórios criados por meio do console do S3. AWS
Para usar um provedor de credenciais personalizado do S3, defina a propriedade de configuração do S3A
fs.s3a.aws.credentials.provider
com a mesma classe de provedor de credenciais usada anteriormente na configuração do EMRFS.fs.s3.customAWSCredentialsProvider
Configurações do EMRFS não suportadas
As seguintes configurações do EMRFS foram identificadas como não suportadas ou obsoletas e, consequentemente, nenhum mapeamento direto será fornecido para suas contrapartes de configuração do S3A. Essas configurações específicas não serão traduzidas ou transferidas automaticamente durante a migração para o sistema de arquivos S3A.
Nome da Configuração do EMRFS | Motivo para não apoiar |
---|---|
fs.s3.consistent | O Amazon S3 oferece uma read-after-writeconsistência forte |
fs.s3.consistent.dynamodb.endpoint | |
fs.s3.consistent. fastFirstRetrySegundos | |
fs.s3.consistent.fastlist | |
fs.s3.consistent.fastlist.BatchSize | |
fs.s3.consistent.fastlist.prefetchMetadados | |
fs.s3.consistent.metadata.AccessKey | |
fs.s3.consistent.metadata.Criação automática | |
fs.s3.consistent.metadata.capacidade.AutoIncrease | |
fs.s3.consistent.metadata.capacidade.autoincrease.Factor | |
fs.s3.consistent.metadata.capacity.autoincrease.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.Nome da tabela | |
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 | Ao contrário do EMRFS, que usa o AWS SDK V1. O S3A usa o AWS SDK V2 onde essas opções não são suportadas. |
fs.s3.cse. cryptoStorageMode. deleteInstructionFiles.habilitado | |
fs.s3.cse.encryptionv2.enabled | |
fs.s3.cse.MaterialsDescription.Enabled | |
fs.s3.multipart.clean.age.threshold | A limpeza periódica do upload incompleto de várias partes (MPU) não está disponível com o S3A. Em vez disso, configure a política de ciclo de vida do bucket do S3 para eliminar pendências. MPUs |
fs.s3.multipart.clean.enabled | |
fs.s3.multipart.clean.jitter.max | O recurso foi adicionado para evitar que os encadeamentos de upload de várias partes fiquem presos ou lentos. O S3A não apresenta um problema semelhante e, portanto, não é obrigatório. |
fs.s3.multipart.fraction.part.avg.completion.time | |
fs.s3.multipart.part.attempts | |
fs.s3.multipart.th.fraction.parts.complete | |
fs.s3.instanceprofile.RetryCount | Essas são configurações específicas do EMRFS que não são necessárias no S3A devido às diferenças de funcionalidade e arquitetura. |
fs.s3.InstanceProfile. retryPeriodSeconds | |
fs.3. externalStagedFiles. maxActiveTasks | |
fs.s3.folderobject.autoaction.disabled | |
fs.s3.folderobject.AutoInsert | |
fs.s3.getObject. initialSocketTimeoutMilissegundos | |
fs.s3.listfiles.incrementalFetch.enabled | |
fs.3. listFilesInPedido. includeDescendantsOfArquivos | |
fs.s3.listobjects.Tipo de codificação | |
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. Solicitar estatísticas. Ativado | |
fs.s3.requestStatistics.Sinks | |
fs.3. retryPeriodSeconds | |
fs.s3. Estratégia de busca | |
fs.s3.threadpool.buffer.size | |
fs.s3.threadpool.maxSize | |
fs.3. useDirectoryHeaderAsFolderObject | |
fs.s3n.filestatuscache.enable | |
fs.s3.delete.Retry Count | |
AccessGrantsfs.s3.s3. Tamanho do cache | |
AccessGrantsfs.s3.s3. retryDelayBase | |
AccessGrantsfs.s3.s3. throttledRetryDelayBase | |
AccessGrantsfs.s3.s3.max Tentativas |