Amazon S3 sur les Outposts avec Amazon EMR sur les Outposts en local - Amazon S3 on Outposts

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Amazon S3 sur les Outposts avec Amazon EMR sur les Outposts en local

Amazon EMR est une plate-forme de clusters gérés qui simplifie l'exécution de frameworks de mégadonnées, tels que Apache Hadoop and Apache Spark, AWS pour traiter et analyser de grandes quantités de données. En utilisant ces frameworks et les projets open source associés, vous pouvez traiter les données à des fins d'analyse et de charge de travail de business intelligence. Amazon vous aide EMR également à transformer et à déplacer de grandes quantités de données vers et depuis d'autres banques de AWS données et bases de données, et prend en charge Amazon S3 on Outposts. Pour plus d'informations sur AmazonEMR, consultez Amazon EMR on Outposts dans le guide de EMRgestion Amazon.

Pour Amazon S3 on Outposts, Amazon EMR a commencé à prendre en charge le Apache Hadoop Connecteur S3A en version 7.0.0. Les versions antérieures d'Amazon EMR ne prennent pas en charge le S3 local sur Outposts, et le système de EMR fichiers (EMRFS) n'est pas pris en charge.

Applications prises en charge

Amazon EMR avec Amazon S3 on Outposts prend en charge les applications suivantes :

  • Hadoop

  • Spark

  • Hue

  • Hive

  • Sqoop

  • Pig

  • Hudi

  • Flink

Pour plus d'informations, consultez le Amazon EMR Release Guide.

Création et configuration d'un bucket Amazon S3 on Outposts

Amazon EMR utilise Amazon S3 on Outposts pour stocker les données d'entrée et de sortie. AWS SDK for Java Vos fichiers EMR journaux Amazon sont stockés dans un emplacement Amazon S3 régional que vous sélectionnez et ne sont pas stockés localement sur l'Outpost. Pour plus d'informations, consultez Amazon EMR Logs dans le guide EMR de gestion Amazon.

Pour se conformer à Amazon S3 et à ses DNS exigences, les compartiments S3 on Outposts sont soumis à des restrictions et limitations de dénomination. Pour de plus amples informations, veuillez consulter Création d'un compartiment S3 on Outposts.

Avec les EMR versions 7.0.0 et ultérieures d'Amazon, vous pouvez utiliser Amazon EMR avec S3 sur Outposts et le système de fichiers S3A.

Prérequis

Autorisations S3 on Outposts — Lorsque vous créez votre profil d'EMRinstance Amazon, votre rôle doit contenir l'espace de noms AWS Identity and Access Management (IAM) pour S3 on Outposts. S3 on Outposts possède son propre espace de noms,. s3-outposts* Pour un exemple de politique utilisant cet espace de noms, consultezConfiguration IAM avec S3 sur Outposts.

Connecteur S3A — Pour configurer votre EMR cluster afin d'accéder aux données d'un bucket Amazon S3 on Outposts, vous devez utiliser le Apache Hadoop Connecteur S3A Pour utiliser le connecteur, assurez-vous que tous vos S3 URIs utilisent le s3a schéma. Si ce n'est pas le cas, vous pouvez configurer l'implémentation du système de fichiers que vous utilisez pour votre EMR cluster afin que votre S3 URIs fonctionne avec le connecteur S3A.

Pour configurer l'implémentation du système de fichiers afin qu'elle fonctionne avec le connecteur S3A, vous utilisez les propriétés de fs.AbstractFileSystem.file_scheme.impl configuration fs.file_scheme.impl et de votre EMR cluster, URIs qui file_scheme correspondent au type de S3 dont vous disposez. Pour utiliser l'exemple suivant, remplacez espaces réservés à la saisie par l'utilisateur avec vos propres informations. Par exemple, pour modifier l'implémentation du système de fichiers pour S3 URIs qui utilise le s3 schéma, spécifiez les propriétés de configuration de cluster suivantes :

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

Pour utiliser S3A, définissez la propriété fs.file_scheme.impl de configuration surorg.apache.hadoop.fs.s3a.S3AFileSystem, puis définissez la fs.AbstractFileSystem.file_scheme.impl propriété sur. org.apache.hadoop.fs.s3a.S3A

Par exemple, si vous accédez au chemins3a://bucket/..., définissez la fs.s3a.impl propriété sur org.apache.hadoop.fs.s3a.S3AFileSystem et définissez la fs.AbstractFileSystem.s3a.impl propriété surorg.apache.hadoop.fs.s3a.S3A.

Commencer à utiliser Amazon EMR avec Amazon S3 sur Outposts

Les rubriques suivantes expliquent comment commencer à utiliser Amazon EMR avec Amazon S3 sur Outposts.

Créer une stratégie d’autorisations

Avant de créer un EMR cluster qui utilise Amazon S3 sur Outposts, vous devez créer une IAM politique à associer au profil d'EC2instance Amazon du cluster. La politique doit disposer d'autorisations pour accéder au point d'accès S3 on Outposts Amazon Resource Name ()ARN. Pour plus d'informations sur la création IAM de politiques pour S3 on Outposts, consultez. Configuration IAM avec S3 sur Outposts

L'exemple de politique suivant montre comment accorder les autorisations requises. Après avoir créé la politique, attachez-la au rôle de profil d'instance que vous utilisez pour créer votre EMR cluster, comme décrit dans la Création et configuration de votre cluster section. Pour utiliser cet exemple, remplacez espaces réservés à la saisie par l'utilisateur avec vos propres informations.

{ "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:*" ] } ] }

Création et configuration de votre cluster

Pour créer un cluster qui exécute Spark avec S3 sur Outposts, effectuez les étapes suivantes dans la console.

Pour créer un cluster qui s'exécute Spark avec S3 sur Outposts
  1. Ouvrez la EMR console Amazon à l'adresse https://console.aws.amazon.com/elasticmapreduce/.

  2. Dans le panneau de navigation de gauche, choisissez Clusters.

  3. Choisissez Créer un cluster.

  4. Pour la EMRversion Amazon, choisissez emr-7.0.0 ou version ultérieure.

  5. Pour le pack d'applications, choisissez Spark interactive. Sélectionnez ensuite les autres applications prises en charge que vous souhaitez inclure dans votre cluster.

  6. Pour activer Amazon S3 sur Outposts, entrez vos paramètres de configuration.

    Exemples de paramètres de configuration

    Pour utiliser les exemples de paramètres de configuration suivants, user input placeholders remplacez-les par vos propres informations.

    [ { "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. Dans la section Mise en réseau, choisissez un cloud privé virtuel (VPC) et un sous-réseau situés sur votre AWS Outposts rack. Pour plus d'informations EMR sur Amazon on Outposts, consultez la section EMRclusters sur AWS Outposts le Amazon EMR Management Guide.

  8. Dans la EMR section Profil d'EC2instance pour Amazon, choisissez le IAM rôle auquel est jointe la politique d'autorisation que vous avez créée précédemment.

  9. Configurez les paramètres de cluster restants, puis choisissez Create cluster.

Présentation des configurations

Le tableau suivant décrit les configurations S3A et les valeurs à spécifier pour leurs paramètres lorsque vous configurez un cluster qui utilise S3 sur Outposts with Amazon. EMR

Paramètre Valeur par défaut Valeur requise pour S3 sur Outposts Explication

fs.s3a.aws.credentials.provider

Si ce n'est pas spécifié, S3A recherchera S3 dans le compartiment Region avec le nom du compartiment Outposts.

Le point ARN d'accès du bucket S3 on Outposts

Amazon S3 on Outposts prend en charge les points d'accès réservés au cloud privé virtuel (VPC) comme seul moyen d'accéder à vos compartiments Outposts.

fs.s3a.committer.name

file

magic

Magic Committer est le seul contributeur compatible pour S3 sur Outposts.

fs.s3a.select.enabled

TRUE

FALSE

S3 Select n'est pas pris en charge sur Outposts.

JAVA_HOME

/usr/lib/jvm/java-8

/usr/lib/jvm/java-11-amazon-corretto.x86_64

S3 sur Outposts sur S3A nécessite Java version 11.

Le tableau suivant décrit Spark les configurations et les valeurs à spécifier pour leurs paramètres lorsque vous configurez un cluster qui utilise S3 sur Outposts with Amazon. EMR

Paramètre Valeur par défaut Valeur requise pour S3 sur Outposts Explication

spark.sql.sources.fastS3PartitionDiscovery.enabled

TRUE

FALSE

S3 sur Outposts ne prend pas en charge la partition rapide.

spark.executorEnv.JAVA_HOME

/usr/lib/jvm/java-8

/usr/lib/jvm/java-11-amazon-corretto.x86_64

S3 sur Outposts sur S3A nécessite la version 11 de Java.

Considérations

Tenez compte des points suivants lorsque vous intégrez Amazon EMR à S3 sur des buckets Outposts :

  • Amazon S3 on Outposts est compatible avec Amazon EMR version 7.0.0 et versions ultérieures.

  • Le connecteur S3A est nécessaire pour utiliser S3 sur Outposts avec Amazon. EMR Seul le S3A possède les fonctionnalités requises pour interagir avec S3 dans les compartiments Outposts. Pour obtenir des informations sur la configuration du connecteur S3A, reportez-vous à la section Conditions préalables.

  • Amazon S3 on Outposts prend uniquement en charge le chiffrement côté serveur avec des clés gérées par Amazon SSE S3 (-S3) avec Amazon. EMR Pour de plus amples informations, veuillez consulter Chiffrement des données dans S3 on Outposts.

  • Amazon S3 on Outposts ne prend pas en charge les écritures avec le S3A. FileOutputCommitter Les écritures effectuées avec le S3A FileOutputCommitter sur les compartiments S3 on Outposts entraînent l'erreur suivante InvalidStorageClass: La classe de stockage que vous avez spécifiée n'est pas valide.

  • Amazon S3 sur Outposts n'est pas compatible avec Amazon EMR Serverless ou Amazon on. EMR EKS

  • Les EMR journaux Amazon sont stockés dans un emplacement Amazon S3 régional que vous sélectionnez et ne sont pas stockés localement dans le compartiment S3 on Outposts.