Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Uso de imágenes multiarquitectura

Modo de enfoque
Uso de imágenes multiarquitectura - Amazon EMR

Amazon EMR en EKS es compatible con imágenes de contenedor multiarquitectura de Amazon Elastic Container Registry (Amazon ECR). Para obtener más información, consulte Introducción a las imágenes de contenedores de varias arquitecturas de Amazon ECR.

Las imágenes personalizadas de Amazon EMR en EKS admiten tanto instancias de EC2 basadas en AWS Graviton como instancias de EC2 no basadas en Graviton. Las imágenes basadas en Graviton se almacenan en los mismos repositorios de imágenes de Amazon ECR que las imágenes no basadas en Graviton.

Por ejemplo, para inspeccionar la lista de manifiesto de Docker en busca de imágenes de 6.6.0, ejecute el siguiente comando.

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

Esta es la salida. La arquitectura arm64 es para la instancia de Graviton. amd64 es para una instancia que no es de 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" } } ] }

Siga estos pasos para crear imágenes multiarquitectura:

  1. Cree un Dockerfile con el siguiente contenido para poder extraer la imagen 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. Para crear una imagen multiarquitectura en Amazon ECR, siga las instrucciones de Introducción a las imágenes de contenedores de varias arquitecturas de Amazon ECR.

    nota

    Debe crear imágenes arm64 en las instancias arm64. Del mismo modo, debe crear imágenes amd64 en las instancias amd64.

    También puede crear imágenes de varias arquitecturas sin tener que basarse en cada tipo de instancia específico con el comando buildx de Docker. Para obtener más información, consulte Aprovechar la compatibilidad con arquitectura de múltiples CPU.

  3. Tras crear la imagen multiarquitectura, puede enviar un trabajo con el mismo parámetro spark.kubernetes.container.image y dirigirlo a la imagen. En un clúster heterogéneo con instancias de EC2 basadas en AWS Graviton y no basadas en Graviton, la instancia determina la imagen de arquitectura correcta en función de la arquitectura de la instancia que extrae la imagen.

PrivacidadTérminos del sitioPreferencias de cookies
© 2024, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.