

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
<a name="jobruns-flink-troubleshoot"></a>

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](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-troubleshoot.html) no *Guia de gerenciamento do Amazon EMR*.
+ [Solução de problemas de trabalhos que usam PersistentVolumeClaims (PVC)](permissions-for-pvc.md)
+ [Solução de problemas de escalabilidade automática vertical do Amazon EMR no EKS](troubleshooting-vas.md)
+ [Solução de problemas do operador do Spark do Amazon EMR no EKS](troubleshooting-sparkop.md)

## Solução de problemas do Apache Flink para Amazon EMR no EKS
<a name="jobruns-flink-troubleshooting-apache-flink"></a>

### Mapeamento de recursos não encontrado ao instalar o chart do Helm
<a name="w2aac21c21b7b7b3"></a>

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
<a name="jobruns-flink-troubleshooting-access-denied"></a>

Se você ver um erro*access 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
<a name="jobruns-flink-troubleshooting-stuck"></a>

Se seu `FlinkDeployment` ficar em um estado preso, use as etapas a seguir para forçar a exclusão da implantação:

1. Edite a execução da implantação.

   ```
   kubectl edit -n {{Flink Namespace}} flinkdeployments/{{App Name}}
   ```

1. Remova este finalizador.

   ```
   finalizers:
     - flinkdeployments.flink.apache.org/finalizer
   ```

1. Exclua a implantação.

   ```
   kubectl delete -n {{Flink Namespace}} flinkdeployments/{{App Name}}
   ```

### AWSBadRequestException problema s3a ao executar um aplicativo Flink em um opt-in Região da AWS
<a name="jobruns-flink-troubleshooting-optin-region"></a>

Se você executar um aplicativo Flink em um [opt-in Região da AWS](https://docs.aws.amazon.com/controltower/latest/userguide/opt-in-region-considerations.html), 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.](https://github.com/aws/aws-sdk-java)

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: {{OPT_IN_AWS_REGION_NAME}}` na especificação de configuração do Flink.

### S3A AWSBad RequestException ao executar um trabalho de sessão do Flink em regiões CN
<a name="jobruns-flink-troubleshooting-optin-region"></a>

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:

1. 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 $NAMESPACE
   ```

   ```
   tar -zxvf flink-kubernetes-operator-$VERSION.tgz
   ```

1. Vá até a pasta do chart do Helm e encontre o arquivo `templates/flink-operator.yaml`.

1. Localize `flink-operator-config` ConfigMap e adicione a seguinte `fs.s3a.endpoint.region` configuração no`flink-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 }}
   ```

1. Instale o chart do Helm local e execute o trabalho.