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.
Pour plus d'informations sur la manière de charger des objets sur Amazon S3, consultez la section Ajout d'un objet à votre compartiment dans le Guide de l'utilisateur Amazon Simple Storage Service. Pour plus d'informations sur l'utilisation d'Amazon S3 avec Hadoop, consultez http://wiki.apache. org/hadoop/AmazonS
Rubriques
Création et configuration d'un compartiment Amazon S3
Amazon EMR utilise le AWS SDK pour Java avec Amazon S3 pour stocker les données d'entrée, les fichiers journaux et les données de sortie. Amazon S3 fait référence à ces emplacements de stockage en tant que compartiments. Les compartiments sont soumis à certaines restrictions et limitations pour se conformer aux exigences Amazon S3 et DNS. Pour de plus amples informations, consultez Limites et restrictions applicables aux compartiments dans le Guide de l'utilisateur Amazon Simple Storage Service.
Cette section explique comment utiliser Amazon S3 AWS Management Console pour créer puis définir des autorisations pour un compartiment Amazon S3. Vous pouvez également créer et définir des autorisations pour un compartiment Amazon S3 à l'aide de l'API Amazon S3 ou de l' AWS CLI. Vous pouvez aussi utiliser curl avec une modification pour transmettre les paramètres d'authentification appropriés pour Amazon S3.
Consultez les ressources suivantes :
-
Pour créer un compartiment à l'aide de la console, consultez Création d'un compartiment dans le Guide de l'utilisateur Amazon S3.
-
Pour créer et utiliser des compartiments à l'aide du AWS CLI, consultez la section Utilisation de commandes S3 de haut niveau AWS Command Line Interface dans le guide de l'utilisateur Amazon S3.
-
Pour créer un compartiment à l'aide d'un kit SDK, consultez la section Exemples de création d'un compartiment dans le Guide de l'utilisateur Amazon Simple Storage Service.
-
Pour utiliser des compartiments à l'aide de curl, consultez Outil d'authentification Amazon S3 pour curl
. -
Pour plus d'informations sur la spécification de compartiments spécifiques à une région, consultez la section Accès à un compartiment dans le Guide de l'utilisateur Amazon Simple Storage Service.
-
Pour utiliser des compartiments utilisant des points d'accès Amazon S3, consultez la section Utilisation d'un alias de type compartiment pour votre point d'accès dans le Guide de l'utilisateur Amazon S3. Vous pouvez facilement utiliser les points d'accès Amazon S3 avec l'alias du point d'accès Amazon S3 au lieu du nom du compartiment Amazon S3. Vous pouvez utiliser l'alias du point d'accès Amazon S3 pour les applications existantes et nouvelles, notamment Spark, Hive, Presto et d'autres.
Note
Si vous activez la journalisation pour un compartiment, seuls les journaux d'accès du compartiment sont activés, pas les journaux du cluster Amazon EMR.
Pendant ou après la création du compartiment, vous pouvez définir les autorisations appropriées pour accéder au compartiment en fonction de votre application. Habituellement, vous (le propriétaire) vous donnez accès en lecture et en écriture et accordez l'accès en lecture aux utilisateurs authentifiés.
Les compartiments Amazon S3 requis doivent avoir été créés pour que vous puissiez créer un cluster. Vous devez charger les scripts obligatoires ou les données référencées dans le cluster vers Amazon S3. Le tableau suivant décrit des exemples de données, de scripts et d'emplacements de fichier journal.
Configuration d'un chargement partitionné pour Amazon S3
Amazon EMR prend en charge le téléchargement partitionné d'Amazon S3 via le SDK for AWS Java. Le téléchargement partitionné vous permet de charger un objet unique sous la forme d'un ensemble de parties. Vous pouvez charger ces parties d’objet indépendamment et dans n’importe quel ordre. Si le transfert d'une partie échoue, vous pouvez la retransférer sans affecter les autres. Une fois toutes les parties de l'objet chargées, Amazon S3 les assemble et crée l'objet.
Pour plus d'informations, consultez la section Présentation de chargement partitionné dans le Guide de l'utilisateur Amazon Simple Storage Service.
De plus, Amazon EMR propose des propriétés qui vous permettent de contrôler de manière plus précise le nettoyage des parties de chargements partitionnés échoués.
Le tableau suivant décrit les propriétés de configuration Amazon EMR pour un chargement partitionné. Vous pouvez configurer ces éléments à l’aide de la classification de configuration core-site
. Pour plus d'informations, consultez Configuration des applications dans le Guide de version Amazon EMR.
Nom de paramètre de configuration | Valeur par défaut | Description |
---|---|---|
fs.s3n.multipart.uploads.enabled |
true |
Type booléen qui indique s'il convient d'activer les chargements partitionnés. Lorsque la vue cohérente d'EMRFS est activée, les chargements partitionnés sont activés par défaut et le paramétrage de cette valeur à false est ignoré. |
fs.s3n.multipart.uploads.split.size |
134217728 |
Spécifie la taille maximale d'une partie, en octets, avant qu'EMRFS lance un nouveau chargement de partie lorsque le chargement partitionné est activé. La valeur minimale est Si le chiffrement EMRFS côté client est désactivé et que le Valideur optimisé Amazon S3 est également désactivé, cette valeur contrôle également la dimension maximale qu'un fichier de données peut atteindre jusqu'à ce qu'EMRFS utilise le chargement partitionné plutôt qu'une demande |
fs.s3n.ssl.enabled |
true |
Type booléen qui indique s'il convient d'utiliser http ou https. |
fs.s3.buckets.create.enabled |
false |
Un type booléen qui indique si un compartiment devrait être créé s'il n'existe pas. Le réglage de false entraîne une exception aux opérations CreateBucket . |
fs.s3.multipart.clean.enabled |
false |
Type booléen qui indique s'il convient d'activer le nettoyage périodique en arrière plan des chargements partitionnés inachevés. |
fs.s3.multipart.clean.age.threshold |
604800 |
Un type long qui spécifie l'âge minimal d'un chargement partitionné, en secondes, avant qu'il ne soit affecté à un nettoyage. La valeur par défaut est une semaine. |
fs.s3.multipart.clean.jitter.max |
10000 |
Un type de nombre entier qui spécifie la quantité maximale de délai de sautillement aléatoire en secondes ajouté au délai de 15 minutes fixe avant de programmer le prochain nettoyage. |
Désactivation des chargements partitionnés
Pour désactiver les téléchargements partitionnés avec la console
-
Sous EMR activé EC2 dans le volet de navigation de gauche, choisissez Clusters, puis Create cluster.
-
Sous Paramètres du logiciel, saisissez la configuration suivante :
classification=core-site,properties=[fs.s3n.multipart.uploads.enabled=false]
-
Choisissez toutes les autres options qui s'appliquent à votre cluster.
-
Pour lancer cluster, choisissez Créer un cluster.
Bonnes pratiques
Vous trouverez ci-dessous des recommandations pour l'utilisation des compartiments Amazon S3 avec les clusters EMR.
Activation de la gestion des versions
La gestion des versions est une configuration recommandée pour votre compartiment Amazon S3. En activant la gestion des versions, vous vous assurez que si des données sont supprimées ou remplacées accidentellement, elles peuvent être récupérées. Pour plus d'informations, consultez Utilisation de la gestion des versions dans le Guide de l'utilisateur Amazon Simple Storage Service.
Nettoyer les chargements partitionnés échoués
Les composants du cluster EMR utilisent des téléchargements partitionnés via le SDK pour AWS Java avec Amazon APIs S3 pour écrire des fichiers journaux et générer des données vers Amazon S3 par défaut. Pour en savoir plus sur la modification des propriétés liées à cette configuration qui utilise Amazon EMR, consultez Configuration d'un chargement partitionné pour Amazon S3. Parfois, le chargement d'un fichier volumineux peut se traduire par un chargement partitionné Amazon S3 incomplet. Lorsqu'un téléchargement partitionné ne peut pas se terminer avec succès, le téléchargement partitionné en cours continue d'occuper votre compartiment et entraîne des frais de stockage. Pour éviter un stockage excessif de fichiers, nous vous recommandons les options suivantes :
-
Pour les compartiments que vous utilisez avec Amazon EMR, utilisez une règle de configuration dans Amazon S3 pour supprimer les chargements partitionnés incomplets trois jours après la date de début de chargement. Les règles de configuration de cycle de vie vous permettent de contrôler la classe de stockage et la durée de vie de vos objets. Pour plus d'informations, consultez Gestion du cycle de vie de l'objet et Interruption de chargements partitionnés inachevés à l'aide de la stratégie de cycle de vie de compartiment.
-
Activez la fonctionnalité de nettoyage partitionné d'Amazon EMR en définissant
fs.s3.multipart.clean.enabled
surtrue
et en réglant d'autres paramètres de nettoyage. Cette fonctionnalité est utile à haut volume, grande échelle et avec des clusters dotés d'une disponibilité limitée. Dans ce cas, le paramètreDaysAfterIntitiation
d'une règle de configuration du cycle de vie peut être trop long, même s'il est défini à son minimum, ce qui provoque des pics de stockage sur Amazon S3. Le nettoyage en plusieurs parties d'Amazon EMR permet un contrôle plus précis. Pour de plus amples informations, veuillez consulter Configuration d'un chargement partitionné pour Amazon S3.
Gérer les repères de versions
Nous vous recommandons d'activer une règle de configuration de cycle de vie dans Amazon S3 pour supprimer les marqueurs de suppression des objets expirés pour les compartiments que vous utilisez avec Amazon EMR. Lorsque vous supprimez un objet dans un compartiment dont les versions sont gérées, un marqueur de suppression est créé. Si toutes les versions précédentes de l'objet expirent par la suite, un marqueur de suppression d'objet expiré est conservé dans le compartiment. Aucun frais ne s'applique pour ces marqueurs de suppression, mais la suppression des marqueurs de suppression expirés peut améliorer les performances des demandes LIST. Pour plus d'informations, consultez la section Configuration du cycle de vie d'un compartiment avec la gestion des versions dans le Guide de l'utilisateur Amazon Simple Storage Service.
Bonnes pratiques en matière de performances
Selon vos charges de travail, certains types d'utilisation des applications et des clusters EMR sur ces clusters peuvent se traduire par un grand nombre de demandes adressées à un compartiment. Pour plus d'informations, consultez Considérations en matière de débit de demandes et de performances dans le Guide de l'utilisateur Amazon Simple Storage Service.