Risoluzione dei problemi - Amazon EMR

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

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

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.

Se il FlinkDeployment si blocca in uno stato di arresto, usa i seguenti passaggi per forzare l'eliminazione dell'implementazione:

  1. Modifica l'esecuzione dell'implementazione.

    kubectl edit -n Flink Namespace flinkdeployments/App Name
  2. Rimuovi questo finalizer.

    finalizers: - flinkdeployments.flink.apache.org/finalizer
  3. Elimina l'implementazione.

    kubectl delete -n Flink Namespace flinkdeployments/App Name

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: OPT_IN_AWS_REGION_NAME nelle specifiche di configurazione di flink.

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:

  1. 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
  2. Vai nella cartella Helm Chart e trova il file. templates/flink-operator.yaml

  3. Trova flink-operator-config ConfigMap e aggiungi la seguente fs.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 }}
  4. Installa la tabella di comando locale ed esegui il tuo lavoro.