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 surEKS. Pour plus d'informations sur la manière de résoudre les problèmes généraux liés à AmazonEMR, consultez la section Résolution des problèmes liés à un cluster dans le Guide de EMRgestion Amazon.
Résolution des 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 pour activer l'ajout du composant webhook. Vous devez installer cert-manager à chaque EKS cluster Amazon 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 vous voyez un accès refusé erreur, vérifiez que le IAM rôle pour operatorExecutionRoleArn
dans le values.yaml
fichier graphique Helm dispose des autorisations correctes. Assurez-vous également que le IAM rôle executionRoleArn
indiqué dans votre FlinkDeployment
spécification 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 -n
Flink Namespace
flinkdeployments/App Name
-
Supprimez ce finalisateur.
finalizers: - flinkdeployments.flink.apache.org/finalizer
-
Supprimez le déploiement.
kubectl delete -n
Flink Namespace
flinkdeployments/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 région d'inscription est SDK compatible. Pour plus d'informations, consultez le aws-sdk-java GitHub référentiel
S3 AWSBadRequestException
Si vous exécutez des SQL instructions 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 AWSBadRequestException lors de l'exécution d'une tâche de session Flink dans les régions CN
Pour les EMR versions 6.15.0 à 7.2.0 d'Amazon, 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 $NAMESPACE
tar -zxvf flink-kubernetes-operator-$VERSION.tgz
Accédez au dossier Helm Chart et trouvez le
templates/flink-operator.yaml
fichier.Recherchez
flink-operator-config
ConfigMap et ajoutez lafs.s3a.endpoint.region
configuration 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.