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 AmazonEMR, lihat Memecahkan masalah klaster di Panduan Manajemen Amazon. EMR
Memecahkan masalah Apache Flink di Amazon di EMR 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 untuk setiap EKS cluster Amazon 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 akses ditolak kesalahan, konfirmasikan bahwa IAM peran operatorExecutionRoleArn
dalam values.yaml
file bagan Helm memiliki izin yang benar. Pastikan juga IAM peran executionRoleArn
di bawah FlinkDeployment
spesifikasi Anda memiliki izin yang benar.
FlinkDeployment
terjebak
Jika Anda FlinkDeployment
terhenti dalam keadaan tertangkap, gunakan langkah-langkah berikut untuk menghapus paksa penyebaran:
-
Edit proses penerapan.
kubectl edit -n
Flink Namespace
flinkdeployments/App Name
-
Hapus finalizer ini.
finalizers: - flinkdeployments.flink.apache.org/finalizer
-
Hapus penyebaran.
kubectl delete -n
Flink Namespace
flinkdeployments/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 kredensi, pastikan bahwa Anda SDK mendukung Wilayah keikutsertaan Anda. Untuk informasi lebih lanjut, lihat aws-sdk-java GitHub repositori
Jika Anda mendapatkan S3 AWSBadRequestException
ketika Anda menjalankan SQL pernyataan Flink di Wilayah keikutsertaan, pastikan Anda mengatur konfigurasi fs.s3a.endpoint.region:
dalam spesifikasi konfigurasi flink Anda.OPT_IN_AWS_REGION_NAME
S3A AWSBadRequestException saat menjalankan pekerjaan sesi Flink di wilayah CN
Untuk EMR rilis Amazon 6.15.0 - 7.2.0, Anda mungkin menemukan pesan galat berikut saat menjalankan tugas sesi Flink di wilayah CN. Ini termasuk China (Beijing) dan China (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, untar (ekstrak file terkompresi) dan buat 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 $NAMESPACE
tar -zxvf flink-kubernetes-operator-$VERSION.tgz
Masuk ke folder bagan helm dan temukan
templates/flink-operator.yaml
filenya.Temukan
flink-operator-config
ConfigMap dan tambahkanfs.s3a.endpoint.region
konfigurasi berikut di fileflink-conf.yaml
. Sebagai 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.