Menyesuaikan gambar Docker untuk Flink dan FluentD - Amazon EMR

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

Menyesuaikan gambar Docker untuk Flink dan FluentD

Ambil langkah-langkah berikut untuk menyesuaikan gambar Docker untuk Amazon EKS dengan EMR Apache Flink atau gambar FluentD. Ini termasuk panduan teknis untuk mendapatkan gambar dasar, menyesuaikannya, menerbitkannya, dan mengirimkan beban kerja.

Sebelum Anda menyesuaikan image Docker Anda, pastikan bahwa Anda telah menyelesaikan prasyarat berikut:

Gambar dasar berisi EMR runtime Amazon dan konektor yang perlu Anda akses lainnya Layanan AWS. Jika Anda menggunakan EMR Amazon EKS dengan Flink versi 6.14.0 atau lebih tinggi, Anda bisa mendapatkan gambar dasar dari Galeri Publik AmazonECR. Jelajahi galeri untuk menemukan tautan gambar dan tarik gambar ke ruang kerja lokal Anda. Misalnya, untuk rilis Amazon EMR 6.14.0, docker pull perintah berikut mengembalikan gambar dasar standar terbaru. Ganti emr-6.14.0:latest dengan versi rilis yang Anda inginkan.

docker pull public.ecr.aws/emr-on-eks/flink/emr-6.14.0-flink:latest

Berikut ini adalah tautan ke gambar galeri Flink dan gambar galeri Fluentd:

Langkah-langkah berikut menjelaskan cara menyesuaikan gambar dasar yang Anda tarik dari AmazonECR.

  1. Buat Dockerfile baru di Workspace lokal Anda.

  2. Edit Dockerfile dan tambahkan konten berikut. Ini Dockerfile menggunakan gambar kontainer yang Anda tarikpublic.ecr.aws/emr-on-eks/flink/emr-7.3.0-flink:latest.

    FROM public.ecr.aws/emr-on-eks/flink/emr-7.3.0-flink:latest USER root ### Add customization commands here #### USER hadoop:hadoop

    Gunakan konfigurasi berikut jika Anda menggunakanFluentd.

    FROM public.ecr.aws/emr-on-eks/fluentd/emr-7.3.0:latest USER root ### Add customization commands here #### USER hadoop:hadoop
  3. Tambahkan perintah di Dockerfile untuk menyesuaikan gambar dasar. Perintah berikut menunjukkan cara menginstal pustaka Python.

    FROM public.ecr.aws/emr-on-eks/flink/emr-7.3.0-flink:latest USER root RUN pip3 install --upgrade boto3 pandas numpy // For python 3 USER hadoop:hadoop
  4. Di direktori yang sama dengan tempat Anda membuatDockerFile, jalankan perintah berikut untuk membangun image Docker. Bidang yang Anda berikan mengikuti -t bendera adalah nama kustom Anda untuk gambar.

    docker build -t <YOUR_ACCOUNT_ID>.dkr.ecr.<YOUR_ECR_REGION>.amazonaws.com/<ECR_REPO>:<ECR_TAG>

Anda sekarang dapat mempublikasikan gambar Docker baru ke ECR registri Amazon Anda.

  1. Jalankan perintah berikut untuk membuat ECR repositori Amazon untuk menyimpan image Docker Anda. Berikan nama untuk repositori Anda, seperti emr_custom_repo. Untuk informasi selengkapnya, lihat Membuat repositori di Panduan Pengguna Amazon Elastic Container Registry.

    aws ecr create-repository \ --repository-name emr_custom_repo \ --image-scanning-configuration scanOnPush=true \ --region <AWS_REGION>
  2. Jalankan perintah berikut untuk mengautentikasi ke registri default Anda. Untuk informasi selengkapnya, lihat Mengautentikasi ke registri default Anda di Panduan Pengguna Amazon Elastic Container Registry.

    aws ecr get-login-password --region <AWS_REGION> | docker login --username AWS --password-stdin <AWS_ACCOUNT_ID>.dkr.ecr.<YOUR_ECR_REGION>.amazonaws.com
  3. Tekan gambar. Untuk informasi selengkapnya, lihat Mendorong gambar ke Amazon ECR di Panduan Pengguna Amazon Elastic Container Registry.

    docker push <YOUR_ACCOUNT_ID>.dkr.ecr.<YOUR_ECR_REGION>.amazonaws.com/<ECR_REPO>:<ECR_TAG>

Buat perubahan berikut pada FlinkDeployment spesifikasi Anda untuk menggunakan gambar kustom. Untuk melakukannya, masukkan gambar Anda sendiri di spec.image baris spesifikasi penerapan Anda.

apiVersion: flink.apache.org/v1beta1 kind: FlinkDeployment metadata: name: basic-example spec: flinkVersion: v1_18 image: <YOUR_ACCOUNT_ID>.dkr.ecr.<YOUR_ECR_REGION>.amazonaws.com/<ECR_REPO>:<ECR_TAG> imagePullPolicy: Always flinkConfiguration: taskmanager.numberOfTaskSlots: "1"

Untuk menggunakan gambar kustom untuk pekerjaan Fluentd Anda, masukkan gambar Anda sendiri di monitoringConfiguration.image baris spesifikasi penerapan Anda.

monitoringConfiguration: image: <YOUR_ACCOUNT_ID>.dkr.ecr.<YOUR_ECR_REGION>.amazonaws.com/<ECR_REPO>:<ECR_TAG> cloudWatchMonitoringConfiguration: logGroupName: flink-log-group logStreamNamePrefix: custom-fluentd