Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan masalah
Bagian ini menjelaskan cara memecahkan masalah dengan Amazon EMR di EKS. Untuk informasi tentang cara memecahkan masalah umum dengan Amazon EMR, lihat Memecahkan masalah klaster di Panduan Manajemen EMR Amazon.
Memecahkan masalah Apache Flink di Amazon EMR di EKS
Pemetaan sumber daya tidak ditemukan saat menginstal bagan Helm
Anda mungkin menemukan pesan galat berikut saat menginstal bagan Helm.
Error: INSTALLATION FAILED: pulling from host 1234567890.dkr.ecr.us-west-2.amazonaws.com failed with status code [manifests 6.13.0]: 403 Forbidden Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: [resource mapping not found for name: "flink-operator-serving-cert" namespace: "<the namespace to install your operator>" from "": no matches for kind "Certificate" in version "cert-manager.io/v1"
ensure CRDs are installed first, resource mapping not found for name: "flink-operator-selfsigned-issuer" namespace: "<the namespace to install your operator>" " from "": no matches for kind "Issuer" in version "cert-manager.io/v1"
ensure CRDs are installed first].
Untuk mengatasi kesalahan ini, instal cert-manager untuk mengaktifkan penambahan komponen webhook. Anda harus menginstal cert-manager ke setiap cluster Amazon EKS yang Anda gunakan.
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0
Layanan AWS akses ditolak kesalahan
Jika Anda melihat access denied kesalahan, konfirmasikan bahwa peran IAM untuk operatorExecutionRoleArn dalam values.yaml file bagan Helm memiliki izin yang benar. Pastikan juga peran IAM executionRoleArn di bawah FlinkDeployment spesifikasi Anda memiliki izin yang benar.
FlinkDeploymentmacet
Jika Anda FlinkDeployment terhenti dalam keadaan tertangkap, gunakan langkah-langkah berikut untuk menghapus paksa penyebaran:
-
Edit proses penerapan.
kubectl edit -nFlink Namespaceflinkdeployments/App Name -
Hapus finalizer ini.
finalizers: - flinkdeployments.flink.apache.org/finalizer -
Hapus penyebaran.
kubectl delete -nFlink Namespaceflinkdeployments/App Name
AWSBadRequestException masalah s3a saat menjalankan aplikasi Flink dalam keikutsertaan Wilayah AWS
Jika Anda menjalankan aplikasi Flink dalam opt-in Wilayah AWS, Anda mungkin melihat kesalahan berikut:
Caused by: org.apache.hadoop.fs.s3a.AWSBadRequestException: getFileStatus on s3://flink.txt: com.amazonaws.services.s3.model.AmazonS3Exception: Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request; Request ID: ABCDEFGHIJKL; S3 Extended Request ID: ABCDEFGHIJKLMNOP=; Proxy: null), S3 Extended Request ID: ABCDEFGHIJKLMNOP=:400 Bad Request: Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request; Request ID: ABCDEFGHIJKL; S3 Extended Request ID: ABCDEFGHIJKLMNOP=; Proxy: null)
Caused by: org.apache.hadoop.fs.s3a.AWSBadRequestException: getS3Region on flink-application: software.amazon.awssdk.services.s3.model.S3Exception: null (Service: S3, Status Code: 400, Request ID: ABCDEFGHIJKLMNOP, Extended Request ID: ABCDEFGHIJKLMNOPQRST==):null: null (Service: S3, Status Code: 400, Request ID: ABCDEFGHIJKLMNOP, Extended Request ID: AHl42uDNaTUFOus/5IIVNvSakBcMjMCH7dd37ky0vE6jhABCDEFGHIJKLMNOPQRST==)
Untuk memperbaiki kesalahan ini, gunakan konfigurasi berikut dalam file FlinkDeployment definisi Anda.
spec: flinkConfiguration: taskmanager.numberOfTaskSlots: "2" fs.s3a.endpoint.region:OPT_IN_AWS_REGION_NAME
Kami juga menyarankan Anda menggunakan penyedia SDKv2 kredensi:
fs.s3a.aws.credentials.provider: software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider
Jika Anda ingin menggunakan penyedia SDKv1 kredensial, pastikan SDK mendukung Wilayah keikutsertaan Anda. Untuk informasi lebih lanjut, lihat aws-sdk-java GitHub repositori
Jika Anda mendapatkan S3 AWSBadRequestException ketika Anda menjalankan pernyataan SQL Flink di Region opt-in, pastikan bahwa Anda mengatur konfigurasi fs.s3a.endpoint.region: dalam spesifikasi konfigurasi flink Anda.OPT_IN_AWS_REGION_NAME
S3A AWSBad RequestException saat menjalankan pekerjaan sesi Flink di wilayah CN
Untuk Amazon EMR rilis 6.15.0 - 7.2.0, Anda mungkin menemukan pesan galat berikut saat menjalankan tugas sesi Flink di wilayah CN. Ini termasuk Tiongkok (Beijing) dan Tiongkok (Ningxia):
Error: {"type":"org.apache.flink.kubernetes.operator.exception.ReconciliationException","message":"org.apache.hadoop.fs.s3a.AWSBadRequestException: getFileStatus on s3://ABCDPath: software.amazon.awssdk.services.s3.model.S3Exception: null (Service: S3, Status Code: 400, Request ID: ABCDEFGH, Extended Request ID: ABCDEFGH:null: null (Service: S3, Status Code: 400, Request ID: ABCDEFGH, Extended Request ID: ABCDEFGH","additionalMetadata":{},"throwableList": [{"type":"org.apache.hadoop.fs.s3a.AWSBadRequestException","message":"getFileStatus on s3://ABCDPath: software.amazon.awssdk.services.s3.model.S3Exception: null (Service: S3, Status Code: 400, Request ID: ABCDEFGH, Extended Request ID: ABCDEFGH:null: null (Service: S3, Status Code: 400, Request ID: ABCDEFGH, Extended Request ID: ABCDEFGH","additionalMetadata":{}},{"type":"software.amazon.awssdk.services.s3.model.S3Exception","message":"null (Service: S3, Status Code: 400, Request ID: ABCDEFGH, Extended Request ID: ABCDEFGH","additionalMetadata":{}}]}
Ada kesadaran akan masalah ini. Tim sedang bekerja untuk menambal operator flink untuk semua versi rilis ini. Namun, sebelum kita menyelesaikan tambalan, untuk memperbaiki kesalahan ini, Anda perlu mengunduh bagan helm operator flink, menghapusnya (ekstrak file terkompresi) dan membuat perubahan konfigurasi di bagan helm.
Langkah-langkah spesifiknya adalah sebagai berikut:
Ubah ke, secara khusus mengubah direktori ke, folder lokal Anda untuk bagan helm, dan jalankan baris perintah berikut untuk menarik bagan helm dan untar (ekstrak) itu.
helm pull oci://public.ecr.aws/emr-on-eks/flink-kubernetes-operator \ --version $VERSION \ --namespace $NAMESPACEtar -zxvf flink-kubernetes-operator-$VERSION.tgzMasuk ke folder bagan helm dan temukan
templates/flink-operator.yamlfilenya.Temukan
flink-operator-configConfigMap dan tambahkanfs.s3a.endpoint.regionkonfigurasi berikut di fileflink-conf.yaml. Contoh:{{- if .Values.defaultConfiguration.create }} apiVersion: v1 kind: ConfigMap metadata: name: flink-operator-config namespace: {{ .Release.Namespace }} labels: {{- include "flink-operator.labels" . | nindent 4 }} data: flink-conf.yaml: |+ fs.s3a.endpoint.region: {{ .Values.emrContainers.awsRegion }}Instal bagan helm lokal dan jalankan pekerjaan Anda.