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.
Übersicht
Mit Amazon EMR 6.15.0 und höher können Sie Amazon EMR mit Apache Spark in Verbindung mit der Speicherklasse Amazon S3 Express One Zone verwenden, um die Leistung Ihrer Spark-Aufträge zu verbessern. Amazon EMR-Versionen 7.2.0 und höher unterstützen HBase auch Flink und Hive, sodass Sie auch von S3 Express One Zone profitieren können, wenn Sie diese Anwendungen verwenden. S3 Express One Zone ist eine S3-Speicherklasse für Anwendungen, die häufig mit Hunderttausenden Anfragen pro Sekunde auf Daten zugreifen. Zum Zeitpunkt seiner Veröffentlichung bietet S3 Express One Zone den Cloud-Objektspeicher mit der niedrigsten Latenz und der höchsten Leistung in Amazon S3.
Voraussetzungen
-
Berechtigungen für S3 Express One Zone – Wenn S3 Express One Zone eine Aktion wie
GET
,LIST
oderPUT
für ein Amazon-S3-Objekt aufruft, ruft die SpeicherklasseCreateSession
in Ihrem Namen auf. Ihre IAM-Richtlinie muss die Genehmigung zulassen, damits3express:CreateSession
S3A Der Connector kann dieCreateSession
API aufrufen. Ein Beispielrichtlinie mit dieser Berechtigung finden Sie unter Erste Schritte mit Amazon S3 Express One Zone. -
S3A connector — Um Ihren Spark-Cluster für den Zugriff auf Daten aus einem Amazon S3 S3-Bucket zu konfigurieren, der die Speicherklasse S3 Express One Zone verwendet, müssen Sie den Apache Hadoop-Connector verwenden S3A. Um den Connector zu verwenden, stellen Sie sicher, dass alle S3 das
s3a
Schema URIs verwenden. Wenn dies nicht der Fall ist, können Sie die Dateisystemimplementierung, die Sie fürs3
- unds3n
-Schemata verwenden, ändern.
Um das s3
-Schema zu ändern, geben Sie die folgenden Clusterkonfigurationen 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 das s3n
-Schema zu ändern, geben Sie die folgenden Clusterkonfigurationen an:
[
{
"Classification": "core-site",
"Properties": {
"fs.s3n.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem",
"fs.AbstractFileSystem.s3n.impl": "org.apache.hadoop.fs.s3a.S3A"
}
}
]
Erste Schritte mit Amazon S3 Express One Zone
Themen
Eine Berechtigungsrichtlinie erstellen
Bevor Sie einen Cluster erstellen können, der Amazon S3 Express One Zone verwendet, müssen Sie eine IAM-Richtlinie erstellen, die an das EC2 Amazon-Instance-Profil für den Cluster angehängt wird. Die Richtlinie muss über Berechtigungen für den Zugriff auf die Speicherklasse S3 Express One Zone verfügen. Die folgende Beispielrichtlinie zeigt, wie die erforderliche Berechtigung gewährt wird. 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.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Resource": "arn:aws:s3express:region-code
:account-id
:bucket/amzn-s3-demo-bucket",
"Action": [
"s3express:CreateSession"
]
}
]
}
Ihren Cluster erstellen und konfigurieren
Erstellen Sie als Nächstes einen Cluster, auf dem Spark HBase, Flink oder Hive mit S3 Express One Zone ausgeführt wird. Die folgenden Schritte beschreiben einen allgemeinen Überblick über die Erstellung eines Clusters in der AWS Management Console:
-
Navigieren Sie zur Amazon-EMR-Konsole und wählen Sie in der Seitenleiste Cluster aus. Wählen Sie dann Create cluster (Cluster erstellen) aus.
-
Wenn Sie Spark verwenden, wählen Sie Amazon EMR-Version
emr-6.15.0
oder höher. Wenn Sie Flink oder Hive verwenden HBase, wählen Sieemr-7.2.0
eine höhere Version. -
Wählen Sie die Anwendungen aus, die Sie in Ihren Cluster aufnehmen möchten, z. B. Spark oder HBase Flink.
-
Um Amazon S3 Express One Zone zu aktivieren, geben Sie im Abschnitt Softwareeinstellungen eine Konfiguration ein, die dem folgenden Beispiel ähnelt. Die Konfigurationen und empfohlenen Werte werden in dem Abschnitt Konfigurationsübersicht beschrieben, der diesem Verfahren folgt.
[ { "Classification": "core-site", "Properties": { "fs.s3a.aws.credentials.provider": "software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider", "fs.s3a.change.detection.mode": "none", "fs.s3a.endpoint.region": "
aa-example-1
", "fs.s3a.select.enabled": "false" } }, { "Classification": "spark-defaults", "Properties": { "spark.sql.sources.fastS3PartitionDiscovery.enabled": "false" } } ] -
Wählen Sie im Abschnitt EC2 Instanzprofil für Amazon EMR aus, ob Sie eine vorhandene Rolle und eine Rolle mit der angehängten Richtlinie verwenden möchten, die Sie im obigen Eine Berechtigungsrichtlinie erstellen Abschnitt erstellt haben.
-
Konfigurieren Sie die restlichen Cluster-Einstellungen entsprechend Ihrer Anwendung und wählen Sie dann Create cluster (Cluster erstellen) aus.
Konfigurationsübersicht
In den folgenden Tabellen werden die Konfigurationen und vorgeschlagenen Werte beschrieben, die Sie angeben sollten, wenn Sie einen Cluster einrichten, der S3 Express One Zone mit Amazon EMR verwendet, wie im Abschnitt Ihren Cluster erstellen und konfigurieren beschrieben.
S3A Konfigurationen
Parameter | Standardwert | Empfohlener Wert | Erklärung |
---|---|---|---|
|
Wenn nicht angegeben, wird |
|
Die Amazon EMR-Instance-Profilrolle sollte über die Richtlinie verfügen, die Folgendes ermöglicht S3A aufzurufendes Dateisystem. |
|
Null |
Der AWS-Region Ort, an dem Sie den Bucket erstellt haben. |
Die Logik zur Regionsauflösung funktioniert nicht mit der Speicherklasse S3 Express One Zone. |
|
|
|
Amazon S3 |
|
|
Keine |
Erkennung ändern von S3A funktioniert durch Überprüfen MD5basiert |
Spark Konfigurationen
Parameter | Standardwert | Empfohlener Wert | Erklärung |
---|---|---|---|
|
|
false
|
Die interne Optimierung verwendet einen S3-API-Parameter, den die Speicherklasse S3 Express One Zone nicht unterstützt. |
Hive Konfigurationen
Parameter | Standardwert | Empfohlener Wert | Erklärung |
---|---|---|---|
|
|
false
|
Die interne Optimierung verwendet einen S3-API-Parameter, den die Speicherklasse S3 Express One Zone nicht unterstützt. |
Überlegungen
Beachten Sie Folgendes, wenn Sie Apache Spark in Amazon EMR in die Speicherklasse S3 Express One Zone integrieren:
-
Der S3A-Konnektor ist erforderlich, um S3 Express One Zone mit Amazon EMR zu verwenden. Nur S3A verfügt über die Features und Speicherklassen, die für die Interaktion mit S3 Express One Zone erforderlich sind. Schritte zum Einrichten des Konnektors finden Sie unter Voraussetzungen.
-
Die Speicherklasse Amazon S3 Express One Zone wird nur mit Spark auf einem Amazon EMR-Cluster unterstützt, der auf Amazon EC2 läuft.
-
Die Amazon S3 Express One Zone-Speicherklasse unterstützt nur SSE-S3 Verschlüsselung. Weitere Informationen finden Sie unter Serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3).
-
Die Speicherklasse Amazon S3 Express One Zone unterstützte keine Schreibvorgänge mit dem S3A
FileOutputCommitter
. Schreibvorgänge mit dem S3AFileOutputCommitter
auf S3 Express One Zone-Buckets führen zu einem Fehler: InvalidStorageClass: The storage class you specified is not valid. -
Amazon S3 Express One Zone wird mit Amazon EMR-Versionen 6.15.0 und höher auf EMR on unterstützt. EC2 Darüber hinaus wird es auf Amazon EMR-Versionen 7.2.0 und höher, auf Amazon EMR auf EKS und auf Amazon EMR Serverless unterstützt.