Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Fehlerbehebung
In diesem Abschnitt wird beschrieben, wie Sie Probleme mit Amazon EMR in EKS beheben. Informationen zur Behebung allgemeiner Probleme mit Amazon EMR finden Sie unter Fehlerbehebung eines Clusters im Verwaltungshandbuch von Amazon EMR.
Fehlerbehebung für Apache Flink auf Amazon EMR in EKS
Bei der Installation des Helm-Charts wurde keine Ressourcenzuweisung gefunden
Bei der Installation des Helm-Charts wird möglicherweise die folgende Fehlermeldung angezeigt.
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].
Um diesen Fehler zu beheben, installieren Sie cert-manager, um das Hinzufügen der Webhook-Komponente zu ermöglichen. Sie müssen cert-manager die Installation auf jedem Amazon-EKS-Cluster durchführen, den Sie verwenden.
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0
AWS-Service Fehler: Zugriff verweigert
Wenn Sie einen access denied Fehler sehen, vergewissern Sie sich, dass die IAM-Rolle für operatorExecutionRoleArn in der values.yaml-Helm-Chart-Datei über die richtigen Berechtigungen verfügt. Stellen Sie außerdem sicher, dass die in Ihrer FlinkDeployment-Spezifikation unter executionRoleArn angegebene IAM-Rolle über die richtigen Berechtigungen verfügt.
FlinkDeployment steckt fest
Wenn Ihr FlinkDeployment im angehaltenen Zustand stehen bleibt, führen Sie die folgenden Schritte aus, um das Löschen der Bereitstellung zu erzwingen:
-
Bearbeiten Sie den Bereitstellungslauf.
kubectl edit -nFlink Namespaceflinkdeployments/App Name -
Entfernen Sie diesen Finalizer.
finalizers: - flinkdeployments.flink.apache.org/finalizer -
Löschen Sie die Bereitstellung.
kubectl delete -nFlink Namespaceflinkdeployments/App Name
AWSBadRequestException S3a-Problem beim Ausführen einer Flink-Anwendung in einem Opt-In AWS-Region
Wenn Sie eine Flink-Anwendung in einem Opt-In ausführen AWS-Region, werden möglicherweise die folgenden Fehler angezeigt:
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==)
Verwenden Sie die folgende Konfiguration in Ihrer FlinkDeployment Definitionsdatei, um diese Fehler zu beheben.
spec: flinkConfiguration: taskmanager.numberOfTaskSlots: "2" fs.s3a.endpoint.region:OPT_IN_AWS_REGION_NAME
Wir empfehlen außerdem, den Anbieter für SDKv2 Anmeldeinformationen zu verwenden:
fs.s3a.aws.credentials.provider: software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider
Wenn Sie den Anbieter für SDKv1 Anmeldeinformationen verwenden möchten, stellen Sie sicher, dass Ihr SDK Ihre Opt-in-Region unterstützt. Weitere Informationen finden Sie im aws-sdk-java GitHub Repository
Wenn Sie S3 AWSBadRequestException bei der Ausführung von Flink SQL-Anweisungen in einer Opt-in-Region erhalten, stellen Sie sicher, dass Sie die Konfiguration fs.s3a.endpoint.region: in Ihrer Flink-Konfigurationsspezifikation festlegen.OPT_IN_AWS_REGION_NAME
S3A, AWSBad RequestException wenn Sie einen Flink-Sitzungsjob in CN-Regionen ausführen
Bei den Amazon EMR-Versionen 6.15.0 — 7.2.0 können die folgenden Fehlermeldungen auftreten, wenn Sie einen Flink-Sitzungsjob in CN-Regionen ausführen. Dazu gehören China (Peking) und 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":{}}]}
Es besteht ein Bewusstsein für dieses Problem. Das Team arbeitet daran, die Flink-Operatoren für all diese Release-Versionen zu patchen. Bevor wir den Patch fertigstellen, müssen Sie zur Behebung dieses Fehlers jedoch das Flink-Operator-Helmdiagramm herunterladen, es entpacken (die komprimierte Datei extrahieren) und Konfigurationsänderungen im Helmdiagramm vornehmen.
Die spezifischen Schritte sind die folgenden:
Wechseln Sie zu Ihrem lokalen Ordner für das Helm-Diagramm, ändern Sie insbesondere die Verzeichnisse in, und führen Sie die folgende Befehlszeile aus, um das Helmdiagramm abzurufen und zu entpacken (zu extrahieren).
helm pull oci://public.ecr.aws/emr-on-eks/flink-kubernetes-operator \ --version $VERSION \ --namespace $NAMESPACEtar -zxvf flink-kubernetes-operator-$VERSION.tgzGehen Sie in den Helmchart-Ordner und suchen Sie die
templates/flink-operator.yamlDatei.Suchen Sie die
flink-operator-configConfigMap und fügen Sie die folgendefs.s3a.endpoint.regionKonfiguration in der hinzuflink-conf.yaml. Beispiel:{{- 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 }}Installieren Sie das lokale Helmdiagramm und führen Sie Ihren Job aus.