Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résolution des problèmes
Cette section explique comment résoudre les problèmes liés à Amazon EMR on EKS. Pour plus d'informations sur la manière de résoudre les problèmes généraux liés à Amazon EMR, consultez la rubrique Résolution des problèmes liés à un cluster dans le Guide de gestion d'Amazon EMR.
Résoudre les problèmes liés à Apache Flink sur Amazon EMR sur EKS
Le mappage des ressources est introuvable lors de l'installation des Charts de Helm
Le message d'erreur suivant peut s'afficher lorsque vous installez les Charts de 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].
Pour résoudre cette erreur, installez cert-manager afin de pouvoir intégrer le composant webhook. Vous devez installer cert-manager sur chaque cluster Amazon EKS que vous utilisez.
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0
Service AWS erreur d'accès refusé
Si un message d'erreur access denied s'affiche, vérifiez que le rôle IAM pour operatorExecutionRoleArn dans le fichier values.yaml de Charts de Helm dispose des autorisations appropriées. Vérifiez également que le rôle IAM sous executionRoleArn dans votre spécification FlinkDeployment dispose des autorisations appropriées.
FlinkDeployment est bloqué
Si votre FlinkDeployment est bloqué à l'état arrêté, suivez les étapes suivantes pour forcer la suppression du déploiement :
-
Modifiez l'exécution du déploiement.
kubectl edit -nFlink Namespaceflinkdeployments/App Name -
Supprimez ce finalisateur.
finalizers: - flinkdeployments.flink.apache.org/finalizer -
Supprimez le déploiement.
kubectl delete -nFlink Namespaceflinkdeployments/App Name
AWSBadRequestException problème s3a lors de l'exécution d'une application Flink dans un opt-in Région AWS
Si vous exécutez une application Flink dans le cadre d'un opt-in Région AWS, les erreurs suivantes peuvent s'afficher :
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==)
Pour corriger ces erreurs, utilisez la configuration suivante dans votre fichier de FlinkDeployment définition.
spec: flinkConfiguration: taskmanager.numberOfTaskSlots: "2" fs.s3a.endpoint.region:OPT_IN_AWS_REGION_NAME
Nous vous recommandons également d'utiliser le fournisseur SDKv2 d'informations d'identification :
fs.s3a.aws.credentials.provider: software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider
Si vous souhaitez utiliser le fournisseur SDKv1 d'informations d'identification, assurez-vous que votre SDK prend en charge votre région d'adhésion. Pour plus d'informations, consultez le aws-sdk-java GitHub référentiel
S3 AWSBadRequestExceptionSi vous exécutez des instructions SQL Flink dans une région optionnelle, assurez-vous de définir la configuration fs.s3a.endpoint.region: dans vos spécifications de configuration Flink.OPT_IN_AWS_REGION_NAME
S3A AWSBad RequestException lors de l'exécution d'une tâche de session Flink dans les régions CN
Pour les versions 6.15.0 à 7.2.0 d'Amazon EMR, les messages d'erreur suivants peuvent s'afficher lorsque vous exécutez une tâche de session Flink dans les régions CN. Il s'agit notamment de la Chine (Pékin) et de la Chine (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":{}}]}
Il existe une prise de conscience de ce problème. L'équipe travaille à la correction des opérateurs Flink pour toutes ces versions. Toutefois, avant de terminer le correctif, pour corriger cette erreur, vous devez télécharger le diagramme de barre de l'opérateur Flink, le décompresser (extraire le fichier compressé) et apporter des modifications de configuration dans le graphique de barre.
Les étapes spécifiques sont les suivantes :
Accédez, en particulier, aux répertoires dans votre dossier local pour le graphique de barre, et exécutez la ligne de commande suivante pour extraire le graphique de barre et le décompresser (extraire).
helm pull oci://public.ecr.aws/emr-on-eks/flink-kubernetes-operator \ --version $VERSION \ --namespace $NAMESPACEtar -zxvf flink-kubernetes-operator-$VERSION.tgzAccédez au dossier Helm Chart et trouvez le
templates/flink-operator.yamlfichier.Recherchez
flink-operator-configConfigMap et ajoutez lafs.s3a.endpoint.regionconfiguration suivante dans leflink-conf.yaml. Par exemple :{{- 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 }}Installez le tableau de bord local et exécutez votre tâche.