Bekerja dengan gambar multi-arsitektur - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bekerja dengan gambar multi-arsitektur

EMRAmazon EKS mendukung gambar wadah multi-arsitektur untuk Amazon Elastic Container Registry (AmazonECR). Untuk informasi selengkapnya, lihat Memperkenalkan gambar kontainer multi-arsitektur untuk Amazon ECR.

Amazon EMR pada gambar EKS khusus mendukung instans dan EC2 instance AWS berbasis Graviton. non-Graviton-based EC2 Gambar berbasis Graviton disimpan dalam repositori gambar yang sama di Amazon sebagai gambar. ECR non-Graviton-based

Misalnya, untuk memeriksa daftar manifes Docker untuk gambar 6.6.0, jalankan perintah berikut.

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

Berikut adalah outputnya. arm64Arsitekturnya untuk contoh Graviton. amd64Ini untuk contoh 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" } } ] }

Ambil langkah-langkah berikut untuk membuat gambar multi-arsitektur:

  1. Buat Dockerfile dengan konten berikut sehingga Anda dapat menarik arm64 gambar.

    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. Ikuti petunjuk di Memperkenalkan gambar wadah multi-arsitektur untuk Amazon ECR untuk membuat gambar multi-arsitektur.

    catatan

    Anda harus membuat arm64 gambar pada arm64 instance. Demikian pula, Anda harus membangun amd64 gambar pada amd64 instance.

    Anda juga dapat membuat gambar multi-arsitektur tanpa membangun setiap jenis instance tertentu dengan perintah Dockerbuildx. Untuk informasi selengkapnya, lihat Memanfaatkan dukungan CPU multi-arsitektur.

  3. Setelah Anda membangun gambar multi-arsitektur, Anda dapat mengirimkan pekerjaan dengan spark.kubernetes.container.image parameter yang sama dan mengarahkannya ke gambar. Dalam cluster heterogen dengan AWS berbasis Graviton dan non-Graviton-based EC2 instance, instance menentukan gambar arsitektur yang benar berdasarkan arsitektur instance yang menarik gambar.