Vue cohérente - Amazon EMR

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.

Vue cohérente

Avertissement

Le 1er juin 2023, la vue cohérente d'EMRFS atteindra la fin du support standard pour les futures versions d'Amazon EMR. La vue cohérente EMRFS continuera de fonctionner pour les versions existantes.

Avec la sortie d'Amazon S3 Strong read-after-write Cohérence le 1er décembre 2020, vous n'avez plus besoin d'utiliser la vue cohérente EMRFS (EMRFS CV) avec vos clusters Amazon EMR. EMRFS CV est une fonctionnalité optionnelle qui permet aux clusters Amazon EMR de vérifier la liste et la cohérence des objets read-after-write Amazon S3. Lorsque vous créez un cluster et que le CV EMRFS est activé, Amazon EMR crée une base de données Amazon DynamoDB pour stocker les métadonnées des objets qu'il utilise pour suivre la liste et la cohérence des objets S3. read-after-write Vous pouvez désormais désactiver EMRFS CV et supprimer la base de données DynamoDB qu'il utilise afin de ne pas générer de coûts supplémentaires. Les procédures suivantes expliquent comment vérifier la fonctionnalité CV, la désactiver et supprimer la base de données DynamoDB qu'elle utilise.

Pour vérifier si vous utilisez la fonction EMRFS CV
  1. Accédez à l'onglet Configuration. Si votre cluster possède la configuration suivante, il utilise EMRFS CV.

    Classification=emrfs-site,Property=fs.s3.consistent,Value=true
  2. Vous pouvez également utiliser le AWS CLI pour décrire votre cluster avec l'describe-clusterAPI. Si le résultat en contient fs.s3.consistent: true, votre cluster utilise EMRFS CV.

Pour désactiver le CV EMRFS sur vos clusters Amazon EMR

Pour désactiver la fonction EMRFS CV, utilisez l'une des trois options suivantes. Vous devez tester ces options dans votre environnement de test avant de les appliquer à vos environnements de production.

  1. Pour arrêter votre cluster existant et démarrer un nouveau cluster sans les options EMRFS CV.
    1. Avant d'arrêter votre cluster, assurez-vous de sauvegarder vos données et d'en informer les utilisateurs.

    2. Pour arrêter votre cluster, suivez les instructions de la section Résilier un cluster.

    3. Si vous utilisez la console Amazon EMR pour créer un nouveau cluster, accédez aux Options avancées. Dans la section Modifier les paramètres du logiciel, désélectionnez l'option permettant d'activer EMRFS CV. Si la case à cocher pour une vue cohérente EMRFS est disponible, désactivez-la.

    4. Si vous avez l'habitude de AWS CLI créer un nouveau cluster avec l'create-clusterAPI, n'utilisez pas l'--emrfsoption qui active EMRFS CV.

    5. Si vous utilisez un SDK ou AWS CloudFormation pour créer un nouveau cluster, n'utilisez aucune des configurations répertoriées dans Configurer une vue cohérente.

  2. Pour cloner un cluster et supprimer le CV EMRFS
    1. Dans la console Amazon EMR, choisissez le cluster qui utilise EMRFS CV.

    2. En haut de la page Détails du cluster, sélectionnez Cloner.

    3. Choisissez Précédent et passez à l'Étape 1 : Logiciel et étapes.

    4. Dans Modifier les paramètres du logiciel, supprimez le EMRFS CV. Dans Modifier la configuration, supprimez les configurations suivantes dans la classification emrfs-site. Si vous chargez du JSON à partir d'un compartiment S3, vous devez modifier votre objet S3.

      [ {"classification": "emrfs-site", "properties": { "fs.s3.consistent.retryPeriodSeconds":"10", "fs.s3.consistent":"true", "fs.s3.consistent.retryCount":"5", "fs.s3.consistent.metadata.tableName":"EmrFSMetadata" } } ]
  3. Pour supprimer le CV EMRFS d'un cluster qui utilise des groupes d'instances
    1. Utilisez la commande suivante pour vérifier si un seul cluster EMR utilise la table DynamoDB associée à EMRFS CV, ou si plusieurs clusters partagent la table. Le nom de la table est spécifié dans fs.s3.consistent.metadata.tableName, comme décrit dans Configuration de la vue cohérente. Le nom de table par défaut utilisé par EMRFS CV est EmrFSMetadata.

      aws emr describe-cluster --cluster-id j-XXXXX | grep fs.s3.consistent.metadata.tableName
    2. Si votre cluster ne partage pas votre base de données DynamoDB avec un autre cluster, utilisez la commande suivante pour reconfigurer le cluster et désactiver EMRFS CV. Pour plus d'informations, consultez Reconfiguration d'un groupe d'instances dans un cluster en cours d'exécution.

      aws emr modify-instance-groups --cli-input-json file://disable-emrfs-1.json

      Cette commande ouvre le fichier que vous souhaitez modifier. Modifiez le fichier avec l'une des configurations suivantes.

      { "ClusterId": "j-xxxx", "InstanceGroups": [ { "InstanceGroupId": "ig-xxxx", "Configurations": [ { "Classification": "emrfs-site", "Properties": { "fs.s3.consistent": "false" }, "Configurations": [] } ] } ] }
    3. Si votre cluster partage la table DynamoDB avec un autre cluster, désactivez EMRFS CV sur tous les clusters à un moment où aucun cluster ne modifie les objets de l'emplacement S3 partagé.

Pour supprimer les ressources Amazon DynamoDB associées au CV EMRFS

Après avoir supprimé le CV EMRFS de vos clusters Amazon EMR, supprimez les ressources DynamoDB associées au CV EMRFS. Jusqu'à ce que vous le fassiez, vous continuez à payer des frais DynamoDB associés à EMRFS CV.

  1. Vérifiez les CloudWatch métriques de votre table DynamoDB et confirmez que la table n'est utilisée par aucun cluster.

  2. Supprimez la table DynamoDB.

    aws dynamodb delete-table --table-name <your-table-name>
Pour supprimer les ressources Amazon SQS associées au CV EMRFS
  1. Si vous avez configuré votre cluster pour envoyer des notifications d'incohérence à Amazon SQS, vous pouvez supprimer toutes les files d'attente SQS.

  2. Recherchez le nom de file d'attente Amazon SQS spécifié dans fs.s3.consistent.notification.SQS.queueName, comme décrit dans Configurer une vue cohérente. Le format de nom de file d'attente par défaut est EMRFS-Inconsistency-<j-cluster ID>.

    aws sqs list-queues | grep ‘EMRFS-Inconsistency’ aws sqs delete-queue –queue-url <your-queue-url>
Pour arrêter d'utiliser l'interface de ligne de commande EMRFS
  • La CLI EMRFS gère les métadonnées générées par EMRFS CV. La prise en charge standard d'EMRFS CV arrivant à son terme dans les futures versions d'Amazon EMR, la prise en charge de la CLI EMRFS atteindra également sa fin.