Lavorare con immagini multi-architettura - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Lavorare con immagini multi-architettura

Amazon EMR on EKS supporta immagini di container multiarchitettura per Amazon Elastic Container Registry (AmazonECR). Per ulteriori informazioni, consulta Introduzione alle immagini di container multiarchitettura per Amazon ECR.

Amazon EMR su immagini EKS personalizzate supporta sia istanze AWS basate su Graviton che EC2 istanze. non-Graviton-based EC2 Le immagini basate su Graviton sono archiviate negli stessi archivi di immagini in Amazon ECR delle immagini. non-Graviton-based

Ad esempio, per ispezionare l'elenco manifest Docker per le immagini 6.6.0, esegui il comando seguente.

docker manifest inspect 895885662937.dkr.ecr.us-west-2.amazonaws.com/spark/emr-6.6.0:latest

Ecco l'output. L'architettura arm64 è per un'istanza Graviton. Quella amd64 è per un'istanza non Graviton.

{ "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" } } ] }

Completa la procedura seguente per creare immagini multi-architettura:

  1. Crea un Dockerfile con i seguenti contenuti in modo da poter estrarre l'immagine arm64.

    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
  2. Segui le istruzioni riportate in Introduzione alle immagini di container multiarchitettura per Amazon per ECR creare un'immagine multiarchitettura.

    Nota

    Devi creare immagini arm64 su istanze arm64. Analogamente, devi creare immagini amd64 su istanze amd64.

    Puoi anche creare immagini multi-architettura senza basarti su ogni tipo di istanza specifico utilizzando il comando Docker buildx. Per ulteriori informazioni, consulta Sfruttare il supporto multiarchitettura. CPU

  3. Dopo aver creato l'immagine multi-architettura, puoi inviare un processo con lo stesso parametro spark.kubernetes.container.image e indirizzarlo verso l'immagine. In un cluster eterogeneo composto sia da istanze AWS basate su Graviton che da non-Graviton-based EC2 istanze, l'istanza determina l'immagine dell'architettura corretta in base all'architettura dell'istanza che estrae l'immagine.