As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Solução de problemas
Esta seção descreve como solucionar problemas com o Amazon EMR no EKS. Para obter informações sobre como solucionar problemas gerais com o Amazon EMR, consulte Troubleshoot a cluster no Guia de gerenciamento do Amazon EMR.
Solução de problemas do Apache Flink para Amazon EMR no EKS
Mapeamento de recursos não encontrado ao instalar o chart do Helm
Você pode encontrar a mensagem de erro apresentada a seguir ao instalar o chart do 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].
Para resolver esse erro, instale o cert-manager para habilitar a adição do componente webhook. Você deve instalar o cert-manager em cada cluster do Amazon EKS que usa.
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0
AWS service (Serviço da AWS) erro de acesso negado
Se você ver um erroaccess denied , confirme se o perfil do IAM para operatorExecutionRoleArn no arquivo values.yaml do chart do Helm tem as permissões corretas. Além disso, certifique-se de que o perfil do IAM em executionRoleArn na sua especificação de FlinkDeployment tenha as permissões corretas.
FlinkDeployment está preso
Se seu FlinkDeployment ficar em um estado preso, use as etapas a seguir para forçar a exclusão da implantação:
-
Edite a execução da implantação.
kubectl edit -nFlink Namespaceflinkdeployments/App Name -
Remova este finalizador.
finalizers: - flinkdeployments.flink.apache.org/finalizer -
Exclua a implantação.
kubectl delete -nFlink Namespaceflinkdeployments/App Name
AWSBadRequestException problema s3a ao executar um aplicativo Flink em um opt-in Região da AWS
Se você executar um aplicativo Flink em um opt-in Região da AWS, poderá ver os seguintes erros:
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==)
Para corrigir esses erros, use a configuração a seguir no arquivo FlinkDeployment de definição.
spec: flinkConfiguration: taskmanager.numberOfTaskSlots: "2" fs.s3a.endpoint.region:OPT_IN_AWS_REGION_NAME
Também recomendamos que você use o provedor de SDKv2 credenciais:
fs.s3a.aws.credentials.provider: software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider
Se você quiser usar o provedor de SDKv1 credenciais, certifique-se de que seu SDK seja compatível com sua região de inscrição. Para obter mais informações, consulte o aws-sdk-java GitHub repositório.
Se você obtiver o erro S3 AWSBadRequestException ao executar instruções SQL do Flink em uma região de ingresso, certifique-se de definir a configuração fs.s3a.endpoint.region: na especificação de configuração do Flink.OPT_IN_AWS_REGION_NAME
S3A AWSBad RequestException ao executar um trabalho de sessão do Flink em regiões CN
Nas versões 6.15.0 à 7.2.0 do Amazon EMR, você pode encontrar as mensagens de erro a seguir ao executar um trabalho de sessão do Flink nas regiões da China. Estes incluem China (Pequim) e 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":{}}]}
Esse problema é conhecido. A equipe está trabalhando na correção dos operadores do Flink em todas essas versões de lançamento. No entanto, antes de concluirmos o patch, para corrigir esse erro, você precisa baixar o chart do Helm do operador do Flink, descompactá-lo (extrair o arquivo compactado) e fazer alterações na configuração do chart do Helm.
As etapas especificas são as seguintes:
Altere, especificamente, os diretórios da sua pasta local do chart do Helm e execute a linha de comando a seguir para extrair o chart do Helm e descompactá-lo (extraí-lo).
helm pull oci://public.ecr.aws/emr-on-eks/flink-kubernetes-operator \ --version $VERSION \ --namespace $NAMESPACEtar -zxvf flink-kubernetes-operator-$VERSION.tgzVá até a pasta do chart do Helm e encontre o arquivo
templates/flink-operator.yaml.Localize
flink-operator-configConfigMap e adicione a seguintefs.s3a.endpoint.regionconfiguração noflink-conf.yaml. Por exemplo:{{- 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 }}Instale o chart do Helm local e execute o trabalho.