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.
Arbeiten mit Images mit mehreren Architekturen
Amazon EMR on EKS unterstützt Container-Images mit mehreren Architekturen für Amazon Elastic Container Registry (AmazonECR). Weitere Informationen finden Sie unter Einführung von Container-Images mit mehreren Architekturen für Amazon ECR
Amazon EMR auf EKS benutzerdefinierten Images unterstützt sowohl AWS Graviton-basierte EC2 Instances als auch Instances. non-Graviton-based EC2 Die Graviton-basierten Bilder werden in denselben Bild-Repositorys in Amazon ECR gespeichert wie Bilder. non-Graviton-based
Um beispielsweise die Docker-Manifestliste für 6.6.0-Images zu überprüfen, führen Sie den folgenden Befehl aus.
docker manifest inspect 895885662937.dkr.ecr.us-west-2.amazonaws.com/spark/emr-6.6.0:latest
Hier wird die Ausgabe gezeigt. Die arm64
-Architektur ist für die Graviton-Instance vorgesehen. Das amd64
ist für eine Nicht-Graviton-Instance.
{ "schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json", "manifests": [ { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 1805, "digest": "xxx123:6b971cb47d11011ab3d45fff925e9442914b4977ae0f9fbcdcf5cfa99a7593f0", "platform": { "architecture": "arm64", "os": "linux" } }, { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 1805, "digest": "xxx123:6f2375582c9c57fa9838c1d3a626f1b4fc281e287d2963a72dfe0bd81117e52f", "platform": { "architecture": "amd64", "os": "linux" } } ] }
Führen Sie die folgenden Schritte aus, um Multi-Architektur-Images zu erstellen:
-
Erstellen Sie ein
Dockerfile
mit dem folgenden Inhalt, damit Sie dasarm64
-Image abrufen können.FROM --platform=arm64 895885662937.dkr.ecr.us-west-2.amazonaws.com/spark/emr-6.6.0:latest USER root RUN pip3 install boto3 // install customizations here USER hadoop:hadoop
-
Folgen Sie den Anweisungen unter Einführung von Container-Images mit mehreren Architekturen für Amazon ECR
, um ein Multiarchitektur-Image zu erstellen. Anmerkung
Sie müssen
arm64
Images aufarm64
Instances erstellen. In ähnlicher Weise müssen Sieamd64
Images aufamd64
Instances erstellen.Mit dem Befehl Docker
buildx
können Sie auch Images mit mehreren Architekturen erstellen, ohne auf jedem spezifischen Instance-Typ aufbauen zu müssen. Weitere Informationen finden Sie unter Nutzung der Unterstützung mehrerer CPU Architekturen. -
Nachdem Sie das Multiarchitektur-Image erstellt haben, können Sie einen Auftrag mit demselben
spark.kubernetes.container.image
Parameter einreichen und ihn auf das Image verweisen. In einem heterogenen Cluster mit AWS Graviton-basierten und non-Graviton-based EC2 Instances bestimmt die Instance das richtige Architektur-Image auf der Grundlage der Instance-Architektur, die das Image abruft.