Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Risoluzione dei problemi
Questa sezione descrive come risolvere i problemi con Amazon EMR on. EKS Per informazioni su come risolvere problemi generali con AmazonEMR, consulta Risoluzione dei problemi di un cluster nella Amazon Management Guide. EMR
Risoluzione dei problemi di Apache Flink su Amazon su EMR EKS
Mappatura delle risorse non trovata durante l'installazione del grafico Helm
Durante l'installazione del grafico Helm, potresti visualizzare il seguente messaggio di errore.
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].
Per risolvere questo errore, installa cert-manager per abilitare l'aggiunta del componente webhook. È necessario installare cert-manager a ogni EKS cluster Amazon che utilizzi.
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0
Servizio AWS errore di accesso negato
Se vedi un accesso negato errore, conferma che il IAM ruolo per operatorExecutionRoleArn
nel values.yaml
file grafico di Helm dispone delle autorizzazioni corrette. Assicurati inoltre che il IAM ruolo indicato executionRoleArn
nelle tue FlinkDeployment
specifiche disponga delle autorizzazioni corrette.
FlinkDeployment
è bloccato
Se il FlinkDeployment
si blocca in uno stato di arresto, usa i seguenti passaggi per forzare l'eliminazione dell'implementazione:
-
Modifica l'esecuzione dell'implementazione.
kubectl edit -n
Flink Namespace
flinkdeployments/App Name
-
Rimuovi questo finalizer.
finalizers: - flinkdeployments.flink.apache.org/finalizer
-
Elimina l'implementazione.
kubectl delete -n
Flink Namespace
flinkdeployments/App Name
AWSBadRequestException problema s3a quando si esegue un'applicazione Flink in un opt-in Regione AWS
Se esegui un'applicazione Flink in un opt-in Regione AWS, potresti visualizzare i seguenti errori:
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==)
Per correggere questi errori, utilizzate la seguente configurazione nel file di FlinkDeployment
definizione.
spec: flinkConfiguration: taskmanager.numberOfTaskSlots: "2" fs.s3a.endpoint.region:
OPT_IN_AWS_REGION_NAME
Ti consigliamo inoltre di utilizzare il provider di SDKv2 credenziali:
fs.s3a.aws.credentials.provider: software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider
Se desideri utilizzare il provider di SDKv1 credenziali, assicurati che SDK supporti la tua regione di attivazione. Per ulteriori informazioni, consulta il aws-sdk-java GitHub repository.
Se ottieni S3 AWSBadRequestException
quando esegui SQL le istruzioni Flink in una regione che richiede l'attivazione, assicurati di impostare la configurazione fs.s3a.endpoint.region:
nelle specifiche di configurazione di flink.OPT_IN_AWS_REGION_NAME
S3A AWSBadRequestException quando si esegue un job di sessione Flink nelle regioni CN
Per le EMR versioni di Amazon 6.15.0 - 7.2.0, potresti riscontrare i seguenti messaggi di errore quando esegui un processo di sessione Flink nelle regioni CN. Questi includono Cina (Pechino) e Cina (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":{}}]}
C'è una consapevolezza di questo problema. Il team sta lavorando per applicare le patch agli operatori flink per tutte queste versioni di rilascio. Tuttavia, prima di completare la patch, per correggere questo errore, è necessario scaricare la tabella di comando degli operatori flink, decomprimerla (estrarre il file compresso) e apportare modifiche alla configurazione nella tabella di comando.
I passaggi specifici sono i seguenti:
Passa alla cartella locale del Helm Chart, in particolare modifica le directory, ed esegui la seguente riga di comando per estrarre il diagramma di comando e decomprimerlo (estrarlo).
helm pull oci://public.ecr.aws/emr-on-eks/flink-kubernetes-operator \ --version $VERSION \ --namespace $NAMESPACE
tar -zxvf flink-kubernetes-operator-$VERSION.tgz
Vai nella cartella Helm Chart e trova il file.
templates/flink-operator.yaml
Trova
flink-operator-config
ConfigMap e aggiungi la seguentefs.s3a.endpoint.region
configurazione in.flink-conf.yaml
Per esempio:{{- 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 }}
Installa la tabella di comando locale ed esegui il tuo lavoro.