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.
Amazon S3 on Outposts mit lokalem Amazon EMR on Outposts
Amazon EMR ist eine verwaltete Cluster-Plattform, die die Ausführung von Big-Data-Frameworks wie etwa Apache Hadoop und Apache Spark in AWS vereinfacht, um riesige Datenmengen zu verarbeiten und zu analysieren. Durch die Verwendung dieser Frameworks und verwandter Open-Source-Projekte können Sie Daten zu Analysezwecken und Business-Intelligence-Workloads verarbeiten. Amazon EMR hilft Ihnen auch, große Datenmengen zu transformieren, sie in oder aus andere(n) AWS-Datenspeicher(n) oder Datenbanken zu verschieben und unterstützt Amazon S3 on Outposts. Weitere Informationen über Amazon EMR finden Sie unter Amazon EMR in Outposts im Verwaltungshandbuch für Amazon EMR.
Für Amazon S3 on Outposts unterstützt Amazon EMR seit Version 7.0.0 den Apache Hadoop-S3A-Connector. Frühere Versionen von Amazon EMR unterstützen kein lokales S3 on Outposts und das EMR-Dateisystem (EMRFS) wird nicht unterstützt.
Unterstützte Anwendungen
Amazon EMR mit Amazon S3 on Outposts unterstützt die folgenden Anwendungen:
-
Hadoop
-
Spark
-
Hue
-
Hive
-
Sqoop
-
Pig
-
Hudi
-
Flink
Weitere Informationen finden Sie im Handbuch zu Amazon-EMR-Versionen.
Erstellen und Konfigurieren eines Buckets von Amazon S3 on Outposts.
Amazon EMR verwendet AWS SDK for Java mit Amazon S3 on Outposts zum Speichern von Eingabedaten und Ausgabedaten. Ihre Amazon-EMR-Protokolldateien werden an einem von Ihnen ausgewählten regionalen Amazon-S3-Speicherort und nicht lokal im Outpost gespeichert. Weitere Informationen über Amazon-EMR-Protokolle finden Sie im Verwaltungshandbuch für Amazon EMR.
Für Buckets von S3 on Outposts gelten in Übereinstimmung mit den Amazon-S3- und DNS-Anforderungen bestimmte Einschränkungen und Bedingungen. Weitere Informationen finden Sie unter Erstellen eines S3-on-Outposts-Buckets.
Mit Amazon EMR Version 7.0.0 und höher können Sie Amazon EMR mit S3 on Outposts und dem S3A-Dateisystem verwenden.
Voraussetzungen
Berechtigungen für S3 on Outposts: Beim Erstellen Ihres Instance-Profils für Amazon EMR muss Ihre Rolle den AWS Identity and Access Management(IAM)-Namespace für S3 on Outposts enthalten. S3 on Outposts hat seinen eigenen Namespace, s3-outposts*
. Eine Beispielrichtlinie, die diesen Namespace verwendet, finden Sie unter Einrichten von IAM mit S3 on Outposts.
S3A-Connector: Wenn Sie Ihren EMR-Cluster für den Zugriff auf Daten aus einem Bucket von Amazon S3 on Outposts konfigurieren wollen, müssen Sie dazu den S3A-Connector Apache Hadoop verwenden. Um den Connector zu verwenden, stellen Sie sicher, dass alle Ihre S3-URIs das s3a
-Schema verwenden. Ist dies nicht der Fall, können Sie die Dateisystemimplementierung, die Sie für Ihren EMR-Cluster verwenden, so konfigurieren, dass Ihre S3-URIs mit dem S3A-Connector funktionieren.
Um die Dateisystemimplementierung so zu konfigurieren, dass sie mit dem S3A-Connector funktioniert, verwenden Sie für Ihren EMR-Cluster die Konfigurationseigenschaften fs.
und file_scheme
.implfs.AbstractFileSystem.
, wobei file_scheme
.impl
dem S3-URI-Typ entspricht, den Sie haben. Wenn Sie das folgende Beispiel verwenden möchten, ersetzen Sie die file_scheme
durch Ihre eigenen Informationen. Um beispielsweise die Dateisystemimplementierung für S3-URIs zu ändern, die das user input
placeholders
(Platzhalter für Benutzereingaben)s3
-Schema verwenden, geben Sie die folgenden Cluster-Konfigurationseigenschaften an:
[ { "Classification": "core-site", "Properties": { "fs.
s3
.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3
.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
Um S3A zu verwenden, legen Sie die Konfigurationseigenschaft fs.
auf file_scheme
.implorg.apache.hadoop.fs.s3a.S3AFileSystem
und die Eigenschaft fs.AbstractFileSystem.
auf file_scheme
.implorg.apache.hadoop.fs.s3a.S3A
fest.
Wenn Sie beispielsweise auf den Pfad s3a://
zugreifen, legen Sie die Eigenschaft bucket
/...fs.s3a.impl
auf org.apache.hadoop.fs.s3a.S3AFileSystem
und die Eigenschaft fs.AbstractFileSystem.s3a.impl
auf org.apache.hadoop.fs.s3a.S3A
fest.
Erste Schritte mit Amazon S3 on Outposts unter Verwendung von Amazon EMR
Die folgenden Themen veranschaulichen die ersten Schritte mit EMR mit Amazon S3 on Outposts unter Verwendung von Amazon EMR.
Themen
Erstellen einer Berechtigungsrichtlinie
Bevor Sie einen EMR-Cluster erstellen können, der Amazon S3 on Outposts verwendet, müssen Sie eine IAM-Richtlinie erstellen, die an das Amazon-EC2-Instance-Profil für den Cluster angefügt wird. Die Richtlinie muss über die Berechtigung verfügen, auf den Amazon-Ressourcennamen (ARN) des Zugangspunkts von S3 on Outposts zuzugreifen. Weitere Informationen zum Erstellen von IAM-Richtlinien für S3 on Outposts finden Sie unter Einrichten von IAM mit S3 on Outposts.
Die folgende Beispielrichtlinie zeigt, wie Sie die erforderlichen Berechtigungen gewähren. Nachdem Sie die Richtlinie erstellt haben, ordnen Sie die Richtlinie der Instance-Profilrolle zu, mit der Sie Ihren EMR-Cluster erstellen, wie im Abschnitt Ihren Cluster erstellen und konfigurieren beschrieben. Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie die
durch Ihre Informationen.user input
placeholders
(Platzhalter für Benutzereingaben)
{ "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:*" ] } ] }
Ihren Cluster erstellen und konfigurieren
Schließen Sie die folgenden Schritte in der Konsole ab, um einen Cluster zu erstellen, der Spark mit S3 on Outposts ausführt.
So erstellen Sie einen Cluster, der Spark mit S3 on Outposts ausführt
Öffnen Sie die Amazon-EMR-Konsole unter https://console.aws.amazon.com/elasticmapreduce/
. -
Wählen Sie im linken Navigationsbereich Cluster aus.
-
Wählen Sie Cluster erstellen.
-
Wählen Sie als Amazon EMR-Version emr-7.0.0 oder später.
-
Wählen Sie als Anwendungspaket Interaktives Spark. Wählen Sie danach alle anderen unterstützten Anwendungen aus, die in Ihren Cluster integriert werden sollen.
-
Geben Sie Ihre Konfigurationseinstellungen ein, um Amazon S3 on Outposts zu aktivieren.
Beispiel-Konfigurationseinstellungen
Wenn Sie die folgenden Beispiel-Konfigurationseinstellungen verwenden möchten, ersetzen Sie die
(Platzhalter für Benutzereingaben) durch Ihre eigenen Informationen.user input placeholders
[ { "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" } } ] -
Wählen Sie im Abschnitt Netzwerk eine Virtual Private Cloud (VPC) und ein Subnetz aus, die sich auf Ihrem AWS Outposts-Rack befinden. Weitere Informationen über Amazon EMR in Outposts finden Sie unter EMR-Cluster auf AWS Outposts im Verwaltungshandbuch für Amazon EMR.
-
Wählen Sie im Abschnitt EC2-Instance-Profil für Amazon EMR die IAM-Rolle, der die zuvor erstellte Berechtigungsrichtlinie angehängt ist.
-
Konfigurieren Sie Ihre verbleibenden Cluster-Einstellungen und wählen Sie dann Create cluster (Cluster erstellen).
Konfigurationsübersicht
Die folgende Tabelle beschreibt S3A-Konfigurationen und die Werte, die Sie für ihre Parameter festlegen sollten, wenn Sie einen Cluster einrichten, der S3 on Outposts mit Amazon EMR verwendet.
Parameter | Standardwert | Erforderlicher Wert für S3 on Outposts | Erklärung |
---|---|---|---|
|
Wenn nicht angegeben, sucht S3A im Regions-Bucket mit dem Bucket-Namen Outposts nach S3. |
Der Zugriffspunkt-ARN des Buckets von S3 on Outposts |
Amazon S3 on Outposts unterstützt reine Virtual-Private-Cloud(VPC)-Zugriffspunkte als einzige Möglichkeit, auf Ihre Outposts-Buckets zuzugreifen. |
|
file |
|
„Magic Committer“ ist der einzige Committer, der für S3 on Outposts unterstützt wird. |
|
|
|
S3 Select wird in Outposts nicht unterstützt. |
|
|
|
Für S3 on Outposts auf S3A ist Java-Version 11 erforderlich. |
Die folgende Tabelle beschreibt Spark-Konfigurationen und die Werte, die Sie für ihre Parameter festlegen sollten, wenn Sie einen Cluster einrichten, der S3 on Outposts mit Amazon EMR verwendet.
Parameter | Standardwert | Erforderlicher Wert für S3 on Outposts | Erklärung |
---|---|---|---|
|
|
|
S3 on Outposts unterstützt keine schnelle Partition. |
|
|
|
Für S3 on Outposts auf S3A ist Java-Version 11 erforderlich. |
Überlegungen
Beachten Sie Folgendes, wenn Sie Amazon EMR in Buckets von S3 on Outposts integrieren:
-
Amazon S3 on Outposts unterstützt die Speicherklasse Amazon S3 on Outposts.
-
Der S3A-Connector ist erforderlich, um S3 on Outposts mit Amazon EMR zu verwenden. Nur S3A verfügt über die Features, die für Interaktionen mit Buckets von S3 on Outposts erforderlich sind. Informationen zur Einrichtung des S3A-Connectors finden Sie unter Voraussetzungen.
-
Amazon S3 on Outposts unterstützt mit Amazon EMR nur die serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3). Weitere Informationen finden Sie unter Datenverschlüsselung in S3 on Outposts.
-
Amazon S3 on Outposts unterstützt keine Schreibvorgänge mit dem S3A FileOutputCommitter. Schreibvorgänge mit dem S3A FileOutputCommitter auf Buckets von S3 on Outposts führen zu folgendem Fehler:
InvalidStorageClass: Die angegebene Speicherklasse ist nicht gültig
. -
Amazon S3 on Outposts wird mit Amazon EMR Serverless oder Amazon EMR auf EKS nicht unterstützt.
-
Amazon-EMR-Protokolle werden an einem von Ihnen ausgewählten regionalen Amazon-S3-Speicherort und nicht lokal im Bucket von S3 on Outposts gespeichert.