

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pemecahan masalah
<a name="jobruns-flink-troubleshoot"></a>

Bagian ini menjelaskan cara memecahkan masalah dengan Amazon EMR di EKS. *Untuk informasi tentang cara memecahkan masalah umum dengan Amazon EMR, lihat [Memecahkan masalah klaster di](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-troubleshoot.html) Panduan Manajemen EMR Amazon.*
+ [Memecahkan masalah pekerjaan yang menggunakan PersistentVolumeClaims (PVC)](permissions-for-pvc.md)
+ [Memecahkan masalah Amazon EMR pada penskalaan otomatis vertikal EKS](troubleshooting-vas.md)
+ [Memecahkan masalah Amazon EMR pada operator EKS Spark](troubleshooting-sparkop.md)

## Memecahkan masalah Apache Flink di Amazon EMR di EKS
<a name="jobruns-flink-troubleshooting-apache-flink"></a>

### Pemetaan sumber daya tidak ditemukan saat menginstal bagan Helm
<a name="w2aac21c21b7b7b3"></a>

Anda mungkin menemukan pesan galat berikut saat menginstal bagan 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].
```

Untuk mengatasi kesalahan ini, instal cert-manager untuk mengaktifkan penambahan komponen webhook. Anda harus menginstal cert-manager ke setiap cluster Amazon EKS yang Anda gunakan.

```
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0
```

### Layanan AWS akses ditolak kesalahan
<a name="jobruns-flink-troubleshooting-access-denied"></a>

Jika Anda melihat *access denied* kesalahan, konfirmasikan bahwa peran IAM untuk `operatorExecutionRoleArn` dalam `values.yaml` file bagan Helm memiliki izin yang benar. Pastikan juga peran IAM `executionRoleArn` di bawah `FlinkDeployment` spesifikasi Anda memiliki izin yang benar.

### `FlinkDeployment`macet
<a name="jobruns-flink-troubleshooting-stuck"></a>

Jika Anda `FlinkDeployment` terhenti dalam keadaan tertangkap, gunakan langkah-langkah berikut untuk menghapus paksa penyebaran:

1. Edit proses penerapan.

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

1. Hapus finalizer ini.

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

1. Hapus penyebaran.

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

### AWSBadRequestException masalah s3a saat menjalankan aplikasi Flink dalam keikutsertaan Wilayah AWS
<a name="jobruns-flink-troubleshooting-optin-region"></a>

Jika Anda menjalankan aplikasi Flink dalam [opt-in Wilayah AWS](https://docs.aws.amazon.com/controltower/latest/userguide/opt-in-region-considerations.html), Anda mungkin melihat kesalahan berikut:

```
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==)
```

Untuk memperbaiki kesalahan ini, gunakan konfigurasi berikut dalam file `FlinkDeployment` definisi Anda.

```
spec:
  flinkConfiguration:
    taskmanager.numberOfTaskSlots: "2"
    fs.s3a.endpoint.region: {{OPT_IN_AWS_REGION_NAME}}
```

Kami juga menyarankan Anda menggunakan penyedia SDKv2 kredensi:

```
fs.s3a.aws.credentials.provider: software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider
```

Jika Anda ingin menggunakan penyedia SDKv1 kredensial, pastikan SDK mendukung Wilayah keikutsertaan Anda. Untuk informasi lebih lanjut, lihat [aws-sdk-java GitHub repositori](https://github.com/aws/aws-sdk-java).

Jika Anda mendapatkan `S3 AWSBadRequestException` ketika Anda menjalankan pernyataan SQL Flink di Region opt-in, pastikan bahwa Anda mengatur konfigurasi `fs.s3a.endpoint.region: {{OPT_IN_AWS_REGION_NAME}}` dalam spesifikasi konfigurasi flink Anda.

### S3A AWSBad RequestException saat menjalankan pekerjaan sesi Flink di wilayah CN
<a name="jobruns-flink-troubleshooting-optin-region"></a>

Untuk Amazon EMR rilis 6.15.0 - 7.2.0, Anda mungkin menemukan pesan galat berikut saat menjalankan tugas sesi Flink di wilayah CN. Ini termasuk Tiongkok (Beijing) dan Tiongkok (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":{}}]}
```

Ada kesadaran akan masalah ini. Tim sedang bekerja untuk menambal operator flink untuk semua versi rilis ini. Namun, sebelum kita menyelesaikan tambalan, untuk memperbaiki kesalahan ini, Anda perlu mengunduh bagan helm operator flink, menghapusnya (ekstrak file terkompresi) dan membuat perubahan konfigurasi di bagan helm.

Langkah-langkah spesifiknya adalah sebagai berikut:

1. Ubah ke, secara khusus mengubah direktori ke, folder lokal Anda untuk bagan helm, dan jalankan baris perintah berikut untuk menarik bagan helm dan untar (ekstrak) itu.

   ```
   helm pull oci://public.ecr.aws/emr-on-eks/flink-kubernetes-operator \
   --version $VERSION \
   --namespace $NAMESPACE
   ```

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

1. Masuk ke folder bagan helm dan temukan `templates/flink-operator.yaml` filenya.

1. Temukan `flink-operator-config` ConfigMap dan tambahkan `fs.s3a.endpoint.region` konfigurasi berikut di file`flink-conf.yaml`. Contoh:

   ```
   {{- 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. Instal bagan helm lokal dan jalankan pekerjaan Anda.