Consistent view - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Consistent view

Warnung

Am 1. Juni 2023 wird die Standardunterstützung für zukünftige Amazon-EMR-Versionen für EMRFS konsistente Ansicht eingestellt. Die EMRFS-konsistente Ansicht wird auch weiterhin für bestehende Versionen funktionieren.

Mit der Veröffentlichung von Amazon S3 Strong read-after-write Consistency am 1. Dezember 2020 müssen Sie EMRFS Consistent View (EMRFS CV) nicht mehr für Ihre Amazon EMR-Cluster verwenden. EMRFS CV ist eine optionale Funktion, mit der Amazon EMR-Cluster Amazon S3 S3-Objekte auf Liste und read-after-write Konsistenz überprüfen können. Wenn Sie einen Cluster erstellen und EMRFS CV aktiviert ist, erstellt Amazon EMR eine Amazon DynamoDB DynamoDB-Datenbank zum Speichern von Objektmetadaten, die zur Nachverfolgung der Liste und read-after-write Konsistenz von S3-Objekten verwendet werden. Sie können jetzt EMRFS CV deaktivieren und die DynamoDB-Datenbank löschen, sodass Ihnen keine zusätzlichen Kosten entstehen. In den folgenden Verfahren wird erklärt, wie Sie das CV-Feature prüfen, ausschalten und die DynamoDB-Datenbank löschen, die das Feature verwendet.

Um zu überprüfen, ob Sie das EMRFS-CV-Feature verwenden
  1. Navigieren Sie zur Registerkarte Konfiguration. Wenn Ihr Cluster die folgende Konfiguration hat, verwendet er EMRFS CV.

    Classification=emrfs-site,Property=fs.s3.consistent,Value=true
  2. Verwenden Sie alternativ den, um Ihren Cluster AWS CLI mit der API zu beschreiben. describe-cluster Wenn die Ausgabe fs.s3.consistent: true enthält, verwendet Ihr Cluster EMRFS CV.

So deaktivieren Sie EMRFS CV auf Ihren Amazon-EMR-Clustern

Verwenden Sie eine der folgenden drei Optionen, um das EMRFS-CV-Feature zu deaktivieren. Sie sollten diese Optionen in Ihrer Testumgebung testen, bevor Sie sie auf Ihre Produktionsumgebungen anwenden.

  1. Um Ihren vorhandenen Cluster zu beenden und einen neuen Cluster ohne EMRFS-CV-Optionen zu starten.
    1. Bevor Sie Ihren Cluster beenden, stellen Sie sicher, dass Sie Ihre Daten sichern und Ihre Benutzer benachrichtigen.

    2. Befolgen Sie die Anweisungen unter Einen Cluster beenden, um den Cluster zu beenden.

    3. Wenn Sie die Amazon-EMR-Konsole verwenden, um einen neuen Cluster zu erstellen, navigieren Sie zu Erweiterte Optionen. Deaktivieren Sie im Abschnitt Softwareeinstellungen bearbeiten die Option zum Aktivieren von EMRFS CV. Wenn das Kontrollkästchen für die konsistente EMRFS-Ansicht verfügbar ist, lassen Sie es deaktiviert.

    4. Wenn Sie AWS CLI früher einen neuen Cluster mit der create-clusterAPI erstellen, verwenden Sie nicht die --emrfs Option, die EMRFS CV aktiviert.

    5. Wenn Sie ein SDK verwenden oder einen neuen Cluster erstellen AWS CloudFormation möchten, verwenden Sie keine der Konfigurationen, die unter Konsistente Ansicht konfigurieren aufgeführt sind.

  2. So klonen Sie einen Cluster und entfernen EMRFS CV
    1. Klicken Sie in der Amazon-EMR-Konsole auf den Cluster, der EMRFS-CV verwendet.

    2. Wählen Sie oben auf der Seite Cluster Details (Clusterdetails) auf Clone (Klonen).

    3. Wählen Sie Zurück und navigieren Sie zu Schritt 1: Software und Schritte.

    4. Entfernen Sie unter Softwareeinstellungen bearbeiten die Datei EMRFS CV. Löschen Sie unter Konfiguration bearbeiten die folgenden Konfigurationen in der emrfs-site-Klassifizierung. Wenn Sie JSON aus einem S3-Bucket laden, müssen Sie Ihr S3-Objekt ändern.

      [ {"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. Um EMRFS CV aus einem Cluster zu entfernen, der Instance-Gruppen verwendet
    1. Verwenden Sie den folgenden Befehl, um zu überprüfen, ob ein einzelner EMR-Cluster die DynamoDB-Tabelle verwendet, die mit EMRFS CV verknüpft ist, oder ob mehrere Cluster die Tabelle gemeinsam nutzen. Der Tabellenname ist in fs.s3.consistent.metadata.tableName angegeben, wie unter Konsistente Ansicht konfigurieren beschrieben. Der von EMRFS CV verwendete Standardtabellenname ist EmrFSMetadata.

      aws emr describe-cluster --cluster-id j-XXXXX | grep fs.s3.consistent.metadata.tableName
    2. Wenn Ihr Cluster Ihre DynamoDB-Datenbank nicht mit einem anderen Cluster teilt, verwenden Sie den folgenden Befehl, um den Cluster neu zu konfigurieren und EMRFS CV zu deaktivieren. Weitere Informationen finden Sie unter Neu-Konfiguration für eine Instance-Gruppe in einem aktiven Cluster.

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

      Mit diesem Befehl wird die Datei geöffnet, die Sie ändern möchten. Ändern Sie die Datei mit den folgenden Konfigurationen.

      { "ClusterId": "j-xxxx", "InstanceGroups": [ { "InstanceGroupId": "ig-xxxx", "Configurations": [ { "Classification": "emrfs-site", "Properties": { "fs.s3.consistent": "false" }, "Configurations": [] } ] } ] }
    3. Wenn Ihr Cluster die DynamoDB-Tabelle mit einem anderen Cluster gemeinsam nutzt, deaktivieren Sie EMRFS CV auf allen Clustern zu einem Zeitpunkt, zu dem keine Cluster Objekte am gemeinsam genutzten S3-Standort ändern.

Löschen Sie Amazon-DynamoDB-Ressourcen, die mit EMRFS CV verknüpft sind, wie folgt

Nachdem Sie EMRFS CV aus Ihren Amazon-EMR-Clustern entfernt haben, löschen Sie die DynamoDB-Ressourcen, die mit EMRFS CV verknüpft sind. Solange Sie dies nicht tun, fallen für Sie weiterhin DynamoDB-Gebühren im Zusammenhang mit EMRFS CV an.

  1. Überprüfen Sie die CloudWatch Metriken für Ihre DynamoDB-Tabelle und stellen Sie sicher, dass die Tabelle von keinem Cluster verwendet wird.

  2. Löschen Sie die DynamoDB-Tabelle.

    aws dynamodb delete-table --table-name <your-table-name>
Löschen Sie Amazon-SQS-Ressourcen, die mit EMRFS CV verknüpft sind, wie folgt
  1. Wenn Sie Ihren Cluster so konfiguriert haben, dass Inkonsistenzbenachrichtigungen an Amazon SQS gesendet werden, können Sie alle SQS-Warteschlangen löschen.

  2. Suchen Sie den in fs.s3.consistent.notification.SQS.queueName angegebenen Amazon-SQS-Warteschlangennamen, wie unter Konsistente Ansicht konfigurieren beschrieben. Das Standardformat für Warteschlangennamen ist EMRFS-Inconsistency-<j-cluster ID>.

    aws sqs list-queues | grep ‘EMRFS-Inconsistency’ aws sqs delete-queue –queue-url <your-queue-url>
So beenden Sie die Verwendung der EMRFS-CLI