

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
<a name="docker-custom-images-multi-architecture"></a>

Amazon EMR di EKS mendukung gambar kontainer multi-arsitektur untuk Amazon Elastic Container Registry (Amazon ECR) Registry ECR). Untuk informasi selengkapnya, lihat [Memperkenalkan gambar kontainer multi-arsitektur untuk Amazon ECR](https://aws.amazon.com/blogs/containers/introducing-multi-architecture-container-images-for-amazon-ecr/).

Amazon EMR pada gambar khusus EKS mendukung instans EC2 AWS berbasis Graviton dan instans EC2. non-Graviton-based Gambar berbasis Graviton disimpan dalam repositori gambar yang sama di Amazon ECR sebagai gambar. 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. `arm64`Arsitekturnya untuk contoh Graviton. `amd64`Ini 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
   ```

1. Ikuti petunjuk di [Memperkenalkan gambar wadah multi-arsitektur untuk Amazon ECR](https://aws.amazon.com/blogs/containers/introducing-multi-architecture-container-images-for-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 Docker`buildx`. Untuk informasi selengkapnya, lihat [Memanfaatkan dukungan arsitektur multi-CPU](https://docs.docker.com/desktop/multi-arch/). 

1. 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 instance AWS berbasis Graviton dan non-Graviton-based EC2, instance menentukan gambar arsitektur yang benar berdasarkan arsitektur instance yang menarik gambar.