

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

# Pemecahan masalah pengembangan
<a name="troubleshooting-development"></a>

Bagian ini berisi informasi tentang mendiagnosis dan memperbaiki masalah pengembangan dengan Layanan Terkelola untuk aplikasi Apache Flink Anda.

**Topics**
+ [Praktik terbaik rollback sistem](troubleshooting-system-rollback.md)
+ [Praktik terbaik konfigurasi Hudi](troubleshooting-hudi.md)
+ [Grafik Api Apache Flink](troubleshooting-update-flamegraphs.md)
+ [Masalah penyedia kredensi dengan konektor EFO 1.15.2](troubleshooting-credential-provider.md)
+ [Aplikasi dengan konektor Kinesis yang tidak didukung](troubleshooting-unsupported-kinesis-connectors.md)
+ [Kesalahan kompilasi: “Tidak dapat menyelesaikan dependensi untuk proyek”](troubleshooting-compile.md)
+ [Pilihan tidak valid: “kinesisanalyticsv2"](troubleshooting-cli-update.md)
+ [UpdateApplication tindakan tidak memuat ulang kode aplikasi](troubleshooting-update.md)
+ [S3 StreamingFileSink FileNotFoundExceptions](troubleshooting-s3sink.md)
+ [FlinkKafkaConsumer masalah dengan berhenti dengan savepoint](troubleshooting-FlinkKafkaConsumer.md)
+ [Flink 1.15 Kebuntuan Wastafel Async](troubleshooting-async-deadlock.md)
+ [Data Amazon Kinesis mengalirkan pemrosesan sumber yang rusak selama re-sharding](troubleshooting-kinesis-data-streams-processing-out-of-order.md)
+ [Cetak biru penyematan vektor waktu nyata FAQ dan pemecahan masalah](troubleshooting-blueprints.md)

# Praktik terbaik rollback sistem
<a name="troubleshooting-system-rollback"></a>

Dengan rollback sistem otomatis dan kemampuan visibilitas operasi di Amazon Managed Service untuk Apache Flink, Anda dapat mengidentifikasi dan menyelesaikan masalah dengan aplikasi Anda.

## Rollback sistem
<a name="troubleshooting-unsupported-kinesis-connectors-error"></a>

Jika pembaruan aplikasi atau operasi penskalaan gagal karena kesalahan pelanggan, seperti bug kode atau masalah izin, Amazon Managed Service untuk Apache Flink secara otomatis mencoba untuk memutar kembali ke versi berjalan sebelumnya jika Anda telah memilih untuk menggunakan fungsi ini. Untuk informasi selengkapnya, lihat [Aktifkan rollback sistem untuk Layanan Terkelola Anda untuk aplikasi Apache Flink](how-system-rollbacks.md). Jika autorollback ini gagal atau Anda belum memilih atau memilih keluar, aplikasi Anda akan ditempatkan ke status. `READY` Untuk memperbarui aplikasi Anda, selesaikan langkah-langkah berikut:   Periksa Amazon Managed Service untuk konsol Apache Flink atau gunakan `DescribeApplicationOperation` API untuk melihat deskripsi kesalahan mengapa operasi gagal.    Untuk tumpukan kesalahan penuh, gunakan log [Cloudwatch](https://docs.aws.amazon.com/managed-flink/latest/java/logging.html).   Masalah umum adalah izin yang tidak memadai, perubahan kode yang tidak kompatibel, atau kesalahan konfigurasi infrastruktur. Selesaikan masalah yang mendasarinya.    Gunakan `UpdateApplicaton` API untuk menerapkan ulang versi aplikasi baru Anda.    

## Rollback manual
<a name="troubleshooting-unsupported-kinesis-connectors-error"></a>

Jika aplikasi tidak berkembang dan dalam keadaan sementara untuk waktu yang lama, atau jika aplikasi berhasil dialihkan ke`Running`, tetapi Anda melihat masalah hilir seperti memproses kesalahan dalam aplikasi Flink yang berhasil diperbarui, Anda dapat memutar kembali secara manual menggunakan API. `RollbackApplication`

1. Panggilan `RollbackApplication` - ini akan kembali ke versi berjalan sebelumnya dan mengembalikan status sebelumnya. 

1. Pantau operasi rollback menggunakan API. `DescribeApplicationOperation`

1. Jika rollback gagal, gunakan langkah-langkah rollback sistem sebelumnya.

## Visibilitas operasi
<a name="troubleshooting-unsupported-kinesis-connectors-error"></a>

`ListApplicationOperations`API menunjukkan riwayat semua operasi pelanggan dan sistem pada aplikasi Anda.

1. Dapatkan *operationId* dari operasi yang gagal dari daftar.

1. Panggil `DescribeApplicationOperation` dan periksa status dan *StatusDescription*.

1. Jika operasi gagal, deskripsi menunjukkan potensi kesalahan untuk diselidiki. 

**Bug kode kesalahan umum:** Gunakan kemampuan rollback untuk kembali ke versi kerja terakhir. Selesaikan bug dan coba lagi pembaruan. 

**Masalah izin:** Gunakan `DescribeApplicationOperation` untuk melihat izin yang diperlukan. Perbarui izin aplikasi dan coba lagi. 

**Amazon Managed Service untuk masalah layanan Apache Flink:** Periksa Dasbor AWS Health atau buka kasus dukungan.

# Praktik terbaik konfigurasi Hudi
<a name="troubleshooting-hudi"></a>

Untuk menjalankan konektor Hudi pada Layanan Terkelola untuk Apache Flink, kami merekomendasikan perubahan konfigurasi berikut.

Menonaktifkan `hoodie.embed.timeline.server`

Konektor Hudi di Flink menyiapkan server timeline (TM) tertanam di jobmanager Flink (JM) untuk menyimpan metadata untuk meningkatkan kinerja saat paralelisme pekerjaan tinggi. Kami menyarankan Anda menonaktifkan server tertanam ini pada Layanan Terkelola untuk Apache Flink karena kami menonaktifkan komunikasi non-FLink antara JM dan TM.

Jika server ini diaktifkan, Hudi menulis pertama-tama akan mencoba untuk terhubung ke server tertanam di JM, dan kemudian kembali membaca metadata dari Amazon S3. Ini berarti bahwa Hudi menimbulkan batas waktu koneksi yang menunda penulisan Hudi dan menyebabkan dampak kinerja pada Layanan Terkelola untuk Apache Flink.

# Grafik Api Apache Flink
<a name="troubleshooting-update-flamegraphs"></a>

Grafik Flame diaktifkan secara default pada aplikasi di Managed Service untuk versi Apache Flink yang mendukungnya. Grafik Api dapat memengaruhi kinerja aplikasi jika Anda membiarkan grafik tetap terbuka, seperti yang disebutkan dalam dokumentasi [Flink](https://nightlies.apache.org/flink/flink-docs-release-1.15//docs/ops/debugging/flame_graphs/). 

 Jika Anda ingin menonaktifkan Flame Graphs untuk aplikasi Anda, buat case untuk memintanya dinonaktifkan untuk ARN aplikasi Anda. Untuk informasi selengkapnya, lihat [Pusat AWS Dukungan](https://console.aws.amazon.com/support/home#/).

# Masalah penyedia kredensi dengan konektor EFO 1.15.2
<a name="troubleshooting-credential-provider"></a>

Ada [masalah yang diketahui](https://issues.apache.org/jira/browse/FLINK-29205) dengan versi konektor EFO Kinesis Data Streams hingga 1.15.2 `FlinkKinesisConsumer` di mana konfigurasi tidak menghormati. `Credential Provider` Konfigurasi yang valid diabaikan karena masalah, yang mengakibatkan penyedia `AUTO` kredensi digunakan. Hal ini dapat menyebabkan masalah menggunakan akses lintas akun ke Kinesis menggunakan konektor EFO.

Untuk mengatasi kesalahan ini, gunakan konektor EFO versi 1.15.3 atau lebih tinggi. 

# Aplikasi dengan konektor Kinesis yang tidak didukung
<a name="troubleshooting-unsupported-kinesis-connectors"></a>

Managed Service untuk Apache Flink untuk Apache Flink versi 1.15 atau yang lebih baru akan [secara otomatis menolak aplikasi dari memulai atau memperbarui](https://docs.aws.amazon.com/managed-flink/latest/java/flink-1-15-2.html) jika mereka menggunakan versi Kinesis Connector yang tidak didukung (pra-versi 1.15.2) yang dibundel ke dalam aplikasi atau arsip (ZIP). JARs 

## Kesalahan penolakan
<a name="troubleshooting-unsupported-kinesis-connectors-error"></a>

Anda akan melihat kesalahan berikut saat mengirimkan panggilan aplikasi buat/perbarui melalui:

```
An error occurred (InvalidArgumentException) when calling the CreateApplication operation: An unsupported Kinesis connector version has been detected in the application. Please update flink-connector-kinesis to any version equal to or newer than 1.15.2.
For more information refer to connector fix: https://issues.apache.org/jira/browse/FLINK-23528
```

## Langkah-langkah untuk memulihkan
<a name="troubleshooting-unsupported-kinesis-connectors-steps-to-remediate"></a>
+ Perbarui ketergantungan aplikasi pada`flink-connector-kinesis`. Jika Anda menggunakan Maven sebagai alat pembuatan proyek Anda, ikuti. [Perbarui ketergantungan Maven](#troubleshooting-unsupported-kinesis-connectors-update-maven-dependency) Jika Anda menggunakan Gradle, ikuti[Memperbarui ketergantungan Gradle](#troubleshooting-unsupported-kinesis-connectors-update-gradle-dependency).
+ Paket ulang aplikasi.
+ Unggah ke bucket Amazon S3.
+ Kirim ulang permintaan aplikasi buat/perbarui dengan aplikasi yang direvisi yang baru saja diunggah ke bucket Amazon S3.
+ Jika Anda terus melihat pesan kesalahan yang sama, periksa kembali dependensi aplikasi Anda. Jika masalah berlanjut, silakan buat tiket dukungan. 

### Perbarui ketergantungan Maven
<a name="troubleshooting-unsupported-kinesis-connectors-update-maven-dependency"></a>

1. Buka proyek`pom.xml`.

1. Temukan dependensi proyek. Mereka terlihat seperti:

   ```
   <project>
   
       ...
   
       <dependencies>
   
           ...
   
           <dependency>
               <groupId>org.apache.flink</groupId>
               <artifactId>flink-connector-kinesis</artifactId>
           </dependency>
   
           ...
   
       </dependencies>
   
       ...
   
   </project>
   ```

1. Perbarui `flink-connector-kinesis` ke versi yang sama dengan atau lebih baru dari 1.15.2. Misalnya:

   ```
   <project>
   
       ...
   
       <dependencies>
   
           ...
   
           <dependency>
               <groupId>org.apache.flink</groupId>
               <artifactId>flink-connector-kinesis</artifactId>
               <version>1.15.2</version>
           </dependency>
   
           ...
   
       </dependencies>
   
       ...
   
   </project>
   ```

### Memperbarui ketergantungan Gradle
<a name="troubleshooting-unsupported-kinesis-connectors-update-gradle-dependency"></a>

1. Buka proyek `build.gradle` (atau `build.gradle.kts` untuk aplikasi Kotlin). 

1. Temukan dependensi proyek. Mereka terlihat seperti:

   ```
   ...
   
   dependencies {
   
       ...
   
       implementation("org.apache.flink:flink-connector-kinesis")
   
       ...
   
   }
   
   ...
   ```

1. Perbarui `flink-connector-kinesis` ke versi yang sama dengan atau lebih baru dari 1.15.2. Misalnya:

   ```
   ...
   
   dependencies {
   
       ...
   
       implementation("org.apache.flink:flink-connector-kinesis:1.15.2")
   
       ...
   
   }
   
   ...
   ```

# Kesalahan kompilasi: “Tidak dapat menyelesaikan dependensi untuk proyek”
<a name="troubleshooting-compile"></a>

Untuk mengkompilasi Layanan Terkelola untuk aplikasi sampel Apache Flink, Anda harus terlebih dahulu mengunduh dan mengkompilasi konektor Apache Flink Kinesis dan menambahkannya ke repositori Maven lokal Anda. Jika konektor belum ditambahkan ke repositori Anda, kesalahan kompilasi yang mirip dengan berikut akan muncul:

```
Could not resolve dependencies for project your project name: Failure to find org.apache.flink:flink-connector-kinesis_2.11:jar:1.8.2 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
```

Untuk mengatasi kesalahan ini, Anda harus mengunduh kode sumber Apache Flink (versi 1.8.2 dari [https://flink.apache.org/downloads.html](https://flink.apache.org/downloads.html)) untuk konektor. Untuk petunjuk tentang cara mengunduh, mengumpulkan, dan menginstal kode sumber Apache Flink, lihat [Menggunakan konektor Apache Flink Kinesis Streams dengan versi Apache Flink sebelumnya](earlier.md#how-creating-apps-building-kinesis).

# Pilihan tidak valid: “kinesisanalyticsv2"
<a name="troubleshooting-cli-update"></a>

Untuk menggunakan v2 dari Managed Service for Apache Flink API, Anda memerlukan versi terbaru dari AWS Command Line Interface ()AWS CLI.

Untuk informasi tentang memutakhirkan AWS CLI, lihat [Menginstal AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) di *Panduan AWS Command Line Interface Pengguna*.

# UpdateApplication tindakan tidak memuat ulang kode aplikasi
<a name="troubleshooting-update"></a>

[UpdateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html)Tindakan tidak akan memuat ulang kode aplikasi dengan nama file yang sama jika tidak ada versi objek S3 yang ditentukan. Untuk memuat ulang kode aplikasi dengan nama file yang sama, aktifkan versioning pada bucket S3 Anda, dan tentukan versi objek baru menggunakan parameter `ObjectVersionUpdate`. Untuk informasi selengkapnya tentang mengaktifkan versioning objek di bucket S3, lihat [Mengaktifkan dan Menonaktifkan Versioning](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-versioning.html).

# S3 StreamingFileSink FileNotFoundExceptions
<a name="troubleshooting-s3sink"></a>

Layanan Terkelola untuk aplikasi Apache Flink dapat berjalan ke file bagian dalam proses `FileNotFoundException` saat memulai dari snapshot jika file bagian dalam proses yang dirujuk oleh savepoint-nya tidak ada. Ketika mode kegagalan ini terjadi, status operator aplikasi Managed Service for Apache Flink biasanya tidak dapat dipulihkan dan harus dimulai ulang tanpa menggunakan snapshot. `SKIP_RESTORE_FROM_SNAPSHOT` Lihat contoh stacktrace berikut:

```
java.io.FileNotFoundException: No such file or directory: s3://amzn-s3-demo-bucket/pathj/INSERT/2023/4/19/7/_part-2-1234_tmp_12345678-1234-1234-1234-123456789012
        at org.apache.hadoop.fs.s3a.S3AFileSystem.s3GetFileStatus(S3AFileSystem.java:2231)
        at org.apache.hadoop.fs.s3a.S3AFileSystem.innerGetFileStatus(S3AFileSystem.java:2149)
        at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:2088)
        at org.apache.hadoop.fs.s3a.S3AFileSystem.open(S3AFileSystem.java:699)
        at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:950)
        at org.apache.flink.fs.s3hadoop.HadoopS3AccessHelper.getObject(HadoopS3AccessHelper.java:98)
        at org.apache.flink.fs.s3.common.writer.S3RecoverableMultipartUploadFactory.recoverInProgressPart(S3RecoverableMultipartUploadFactory.java:97)
...
```

[Flink `StreamingFileSink` menulis catatan ke sistem file yang didukung oleh Sistem File.](https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/deployment/filesystems/overview/) Mengingat bahwa aliran yang masuk dapat tidak dibatasi, data diatur ke dalam file bagian dengan ukuran terbatas dengan file baru ditambahkan saat data ditulis. Kebijakan siklus hidup dan rollover bagian menentukan waktu, ukuran, dan penamaan file bagian. 

Selama checkpointing dan savepointing (snapshotting), semua file yang Tertunda diganti namanya dan dikomit. Namun, file bagian dalam proses tidak dikomit tetapi diganti namanya dan referensi mereka disimpan dalam pos pemeriksaan atau metadata savepoint untuk digunakan saat memulihkan pekerjaan. File bagian dalam proses ini pada akhirnya akan bergulir ke Pending, diganti namanya, dan dilakukan oleh pos pemeriksaan atau savepoint berikutnya.

Berikut ini adalah akar penyebab dan mitigasi untuk file bagian dalam proses yang hilang:
+ Snapshot basi digunakan untuk memulai Layanan Terkelola untuk aplikasi Apache Flink - hanya snapshot sistem terbaru yang diambil saat aplikasi dihentikan atau diperbarui yang dapat digunakan untuk memulai Layanan Terkelola untuk aplikasi Apache Flink dengan Amazon S3. StreamingFileSink Untuk menghindari kelas kegagalan ini, gunakan snapshot sistem terbaru.
  + Ini terjadi misalnya ketika Anda memilih snapshot yang dibuat menggunakan `CreateSnapshot` alih-alih Snapshot yang dipicu sistem selama berhenti atau memperbarui. Savepoint snapshot yang lebih lama menyimpan out-of-date referensi ke file bagian dalam proses yang telah diganti namanya dan dilakukan oleh pos pemeriksaan atau savepoint berikutnya.
  + Ini juga dapat terjadi ketika snapshot yang dipicu sistem dari Stop/Update acara non-terbaru dipilih. Contohnya adalah aplikasi dengan snapshot sistem dinonaktifkan tetapi telah `RESTORE_FROM_LATEST_SNAPSHOT` dikonfigurasi. Umumnya, Layanan Terkelola untuk aplikasi Apache Flink dengan Amazon StreamingFileSink S3 harus selalu mengaktifkan dan mengonfigurasi snapshot sistem. `RESTORE_FROM_LATEST_SNAPSHOT`
+ File bagian dalam proses dihapus — Karena file bagian yang sedang berlangsung terletak di bucket S3, file tersebut dapat dihapus oleh komponen atau aktor lain yang memiliki akses ke bucket. 
  + Hal ini dapat terjadi jika Anda telah menghentikan aplikasi terlalu lama dan file bagian dalam proses yang dirujuk oleh savepoint aplikasi Anda telah dihapus oleh kebijakan siklus hidup bucket [S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpu-abort-incomplete-mpu-lifecycle-config.html). MultiPartUpload Untuk menghindari kelas kegagalan ini, pastikan bahwa kebijakan siklus hidup S3 Bucket MPU Anda mencakup periode yang cukup besar untuk kasus penggunaan Anda.
  + Ini juga dapat terjadi ketika file bagian dalam proses telah dihapus secara manual atau oleh salah satu komponen sistem Anda. Untuk menghindari kelas kegagalan ini, pastikan bahwa file bagian dalam proses tidak dihapus oleh aktor atau komponen lain.
+ Kondisi balapan di mana pos pemeriksaan otomatis dipicu setelah savepoint - Ini memengaruhi Layanan Terkelola untuk versi Apache Flink hingga dan termasuk 1.13. Masalah ini diperbaiki di Managed Service untuk Apache Flink versi 1.15. Migrasikan aplikasi Anda ke versi terbaru Layanan Terkelola untuk Apache Flink untuk mencegah kekambuhan. Kami juga menyarankan untuk bermigrasi dari StreamingFileSink ke [FileSink](https://nightlies.apache.org/flink/flink-docs-release-1.19/docs/connectors/datastream/filesystem/#file-sink).
  + Ketika aplikasi dihentikan atau diperbarui, Managed Service for Apache Flink memicu savepoint dan menghentikan aplikasi dalam dua langkah. Jika pos pemeriksaan otomatis terpicu di antara dua langkah, savepoint tidak akan dapat digunakan karena file bagian yang sedang berlangsung akan diganti namanya dan berpotensi dikomit.

# FlinkKafkaConsumer masalah dengan berhenti dengan savepoint
<a name="troubleshooting-FlinkKafkaConsumer"></a>

Saat menggunakan legacy FlinkKafkaConsumer ada kemungkinan aplikasi Anda mungkin macet dalam UPDATE, STOPING atau SCALING, jika Anda mengaktifkan snapshot sistem. Tidak ada perbaikan yang dipublikasikan yang tersedia untuk [masalah](https://issues.apache.org/jira/browse/FLINK-28758) ini, oleh karena itu kami sarankan Anda meningkatkan ke yang baru [KafkaSource](https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/datastream/kafka/#kafka-source)untuk mengurangi masalah ini. 

Jika Anda menggunakan snapshot `FlinkKafkaConsumer` with diaktifkan, ada kemungkinan saat pekerjaan Flink memproses stop dengan permintaan API savepoint, kesalahan `FlinkKafkaConsumer` dapat gagal dengan kesalahan runtime yang melaporkan file. `ClosedException` Dalam kondisi ini aplikasi Flink menjadi macet, bermanifestasi sebagai Pos Pemeriksaan Gagal. 

# Flink 1.15 Kebuntuan Wastafel Async
<a name="troubleshooting-async-deadlock"></a>

Ada [masalah yang diketahui](https://issues.apache.org/jira/browse/FLINK-32230) dengan AWS konektor untuk antarmuka implementasi AsyncSink Apache Flink. Ini memengaruhi aplikasi yang menggunakan Flink 1.15 dengan konektor berikut: 
+ Untuk aplikasi Java:
  + KinesisStreamsSink – `org.apache.flink:flink-connector-kinesis`
  + KinesisStreamsSink – `org.apache.flink:flink-connector-aws-kinesis-streams`
  + KinesisFirehoseSink – `org.apache.flink:flink-connector-aws-kinesis-firehose`
  + DynamoDbSink – `org.apache.flink:flink-connector-dynamodb`
+ SQL/TableAPI/PythonAplikasi Flink:
  + kinesis — `org.apache.flink:flink-sql-connector-kinesis`
  + kinesis — `org.apache.flink:flink-sql-connector-aws-kinesis-streams`
  + selang api — `org.apache.flink:flink-sql-connector-aws-kinesis-firehose`
  + dinamodb — `org.apache.flink:flink-sql-connector-dynamodb`

Aplikasi yang terpengaruh akan mengalami gejala berikut:
+ Pekerjaan Flink dalam `RUNNING` keadaan, tetapi tidak memproses data;
+ Tidak ada pekerjaan restart;
+ Pos pemeriksaan sudah habis waktu.

Masalah ini disebabkan oleh [bug](https://github.com/aws/aws-sdk-java-v2/issues/4354) di AWS SDK sehingga tidak memunculkan kesalahan tertentu ke pemanggil saat menggunakan klien HTTP async. Hal ini mengakibatkan wastafel menunggu tanpa batas waktu untuk “permintaan dalam penerbangan” selesai selama operasi flush pos pemeriksaan.

Masalah ini telah diperbaiki di AWS SDK mulai dari versi **2.20.144**. 

Berikut adalah petunjuk tentang cara memperbarui konektor yang terpengaruh untuk menggunakan versi baru AWS SDK di aplikasi Anda:

**Topics**
+ [Perbarui aplikasi Java](troubleshooting-async-deadlock-update-java-apps.md)
+ [Perbarui aplikasi Python](troubleshooting-async-deadlock-update-python-apps.md)

# Perbarui aplikasi Java
<a name="troubleshooting-async-deadlock-update-java-apps"></a>

Ikuti prosedur di bawah ini untuk memperbarui aplikasi Java:

## flink-connector-kinesis
<a name="troubleshooting-async-deadlock-update-java-apps-flink-connector-kinesis"></a>

Jika aplikasi menggunakan`flink-connector-kinesis`:

Konektor Kinesis menggunakan shading untuk mengemas beberapa dependensi, termasuk AWS SDK, ke dalam stoples konektor. Untuk memperbarui versi AWS SDK, gunakan prosedur berikut untuk mengganti kelas berbayang ini:

------
#### [ Maven ]

1. Tambahkan konektor Kinesis dan modul AWS SDK yang diperlukan sebagai dependensi proyek.

1. Konfigurasikan`maven-shade-plugin`:

   1. Tambahkan filter untuk mengecualikan kelas AWS SDK yang diarsir saat menyalin konten jar konektor Kinesis.

   1. Tambahkan aturan relokasi untuk memindahkan kelas AWS SDK yang diperbarui ke paket, yang diharapkan oleh konektor Kinesis.

   **pom.xml** 

   ```
   <project>
       ...    
       <dependencies>
           ...
           <dependency>
               <groupId>org.apache.flink</groupId>
               <artifactId>flink-connector-kinesis</artifactId>
               <version>1.15.4</version>
           </dependency>
           
           <dependency>
               <groupId>software.amazon.awssdk</groupId>
               <artifactId>kinesis</artifactId>
               <version>2.20.144</version>
           </dependency>
           <dependency>
               <groupId>software.amazon.awssdk</groupId>
               <artifactId>netty-nio-client</artifactId>
               <version>2.20.144</version>
           </dependency>
           <dependency>
               <groupId>software.amazon.awssdk</groupId>
               <artifactId>sts</artifactId>
               <version>2.20.144</version>
           </dependency>
           ...
       </dependencies>
       ...
       <build>
           ...
           <plugins>
               ...
               <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-shade-plugin</artifactId>
                   <version>3.1.1</version>
                   <executions>
                       <execution>
                           <phase>package</phase>
                           <goals>
                               <goal>shade</goal>
                           </goals>
                           <configuration>
                               ...
                               <filters>
                                   ...
                                   <filter>
                                       <artifact>org.apache.flink:flink-connector-kinesis</artifact>
                                       <excludes>
                                           <exclude>org/apache/flink/kinesis/shaded/software/amazon/awssdk/**</exclude>
                                           <exclude>org/apache/flink/kinesis/shaded/org/reactivestreams/**</exclude>
                                           <exclude>org/apache/flink/kinesis/shaded/io/netty/**</exclude>
                                           <exclude>org/apache/flink/kinesis/shaded/com/typesafe/netty/**</exclude>
                                       </excludes>
                                   </filter>
                                   ...
                               </filters>
                               <relocations>
                                   ...
                                   <relocation>
                                       <pattern>software.amazon.awssdk</pattern>
                                       <shadedPattern>org.apache.flink.kinesis.shaded.software.amazon.awssdk</shadedPattern>
                                   </relocation>
                                   <relocation>
                                       <pattern>org.reactivestreams</pattern>
                                       <shadedPattern>org.apache.flink.kinesis.shaded.org.reactivestreams</shadedPattern>
                                   </relocation>
                                   <relocation>
                                       <pattern>io.netty</pattern>
                                       <shadedPattern>org.apache.flink.kinesis.shaded.io.netty</shadedPattern>
                                   </relocation>
                                   <relocation>
                                       <pattern>com.typesafe.netty</pattern>
                                       <shadedPattern>org.apache.flink.kinesis.shaded.com.typesafe.netty</shadedPattern>
                                   </relocation>
                                   ...
                               </relocations>
                              ...
                           </configuration>
                       </execution>
                   </executions>
               </plugin>
               ...
           </plugins>
           ... 
       </build>
   </project>
   ```

------
#### [ Gradle ]

1. Tambahkan konektor Kinesis dan modul AWS SDK yang diperlukan sebagai dependensi proyek.

1. Sesuaikan konfigurasi ShadowJar:

   1. Kecualikan kelas AWS SDK yang diarsir saat menyalin konten jar konektor Kinesis.

   1. Pindahkan kelas AWS SDK yang diperbarui ke paket yang diharapkan oleh konektor Kinesis.

   **build.gradle**

   ```
   ...
   dependencies {
       ...
       flinkShadowJar("org.apache.flink:flink-connector-kinesis:1.15.4")
       
       flinkShadowJar("software.amazon.awssdk:kinesis:2.20.144")
       flinkShadowJar("software.amazon.awssdk:sts:2.20.144")
       flinkShadowJar("software.amazon.awssdk:netty-nio-client:2.20.144")
       ...
   }
   ...
   shadowJar {
       configurations = [project.configurations.flinkShadowJar]
   
       exclude("software/amazon/kinesis/shaded/software/amazon/awssdk/**/*")
       exclude("org/apache/flink/kinesis/shaded/org/reactivestreams/**/*.class")
       exclude("org/apache/flink/kinesis/shaded/io/netty/**/*.class")
       exclude("org/apache/flink/kinesis/shaded/com/typesafe/netty/**/*.class")
       
       relocate("software.amazon.awssdk", "org.apache.flink.kinesis.shaded.software.amazon.awssdk")
       relocate("org.reactivestreams", "org.apache.flink.kinesis.shaded.org.reactivestreams")
       relocate("io.netty", "org.apache.flink.kinesis.shaded.io.netty")
       relocate("com.typesafe.netty", "org.apache.flink.kinesis.shaded.com.typesafe.netty")
   }
   ...
   ```

------

## Konektor lain yang terpengaruh
<a name="troubleshooting-async-deadlock-update-java-apps-flink-another-connector"></a>

Jika aplikasi menggunakan konektor lain yang terpengaruh:

Untuk memperbarui versi AWS SDK, versi SDK harus diterapkan dalam konfigurasi build proyek.

------
#### [ Maven ]

Tambahkan AWS SDK bill of materials (BOM) ke bagian manajemen dependensi `pom.xml` file untuk menerapkan versi SDK untuk proyek.

**pom.xml**

```
<project>
    ...    
    <dependencyManagement>
        <dependencies>
            ...
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>bom</artifactId>
                <version>2.20.144</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            ...
        </dependencies>
    </dependencyManagement>
    ...
</project>
```

------
#### [ Gradle ]

Tambahkan ketergantungan platform pada bill of materials AWS SDK (BOM) untuk menerapkan versi SDK untuk proyek. Ini membutuhkan Gradle 5.0 atau yang lebih baru:

**build.gradle**

```
...
dependencies {
    ...
    flinkShadowJar(platform("software.amazon.awssdk:bom:2.20.144"))
    ...
}
...
```

------

# Perbarui aplikasi Python
<a name="troubleshooting-async-deadlock-update-python-apps"></a>

Aplikasi Python dapat menggunakan konektor dalam 2 cara berbeda: konektor pengemasan dan dependensi Java lainnya sebagai bagian dari tabung uber tunggal, atau menggunakan jar konektor secara langsung. Untuk memperbaiki aplikasi yang terpengaruh oleh kebuntuan Async Sink:
+ Jika aplikasi menggunakan toples uber, ikuti instruksi untuk[Perbarui aplikasi Java](troubleshooting-async-deadlock-update-java-apps.md).
+ Untuk membangun kembali stoples konektor dari sumber, gunakan langkah-langkah berikut:

**Membangun konektor dari sumber:**

[Prasyarat, mirip dengan persyaratan build Flink:](https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/flinkdev/building/#build-flink)
+ Java 11
+ Maven 3.2.5

## flink-sql-connector-kinesis
<a name="troubleshooting-async-deadlock-update-python-apps-flink-sql-connector-kinesis"></a>

1. Unduh kode sumber untuk Flink 1.15.4:

   ```
   wget https://archive.apache.org/dist/flink/flink-1.15.4/flink-1.15.4-src.tgz
   ```

1. Buka kompres kode sumber:

   ```
   tar -xvf flink-1.15.4-src.tgz
   ```

1. Arahkan ke direktori konektor kinesis

   ```
   cd flink-1.15.4/flink-connectors/flink-connector-kinesis/
   ```

1. Kompilasi dan instal jar konektor, tentukan versi AWS SDK yang diperlukan. Untuk mempercepat penggunaan build `-DskipTests` untuk melewati eksekusi pengujian dan `-Dfast` melewati pemeriksaan kode sumber tambahan:

   ```
   mvn clean install -DskipTests -Dfast -Daws.sdkv2.version=2.20.144
   ```

1. Arahkan ke direktori konektor kinesis

   ```
   cd ../flink-sql-connector-kinesis
   ```

1. Kompilasi dan pasang jar konektor sql:

   ```
   mvn clean install -DskipTests -Dfast
   ```

1. Jar yang dihasilkan akan tersedia di:

   ```
   target/flink-sql-connector-kinesis-1.15.4.jar
   ```

## flink-sql-connector-aws-kinesis-aliran
<a name="troubleshooting-async-deadlock-update-python-apps-flink-sql-connector-aws-kinesis-streams"></a>

1. Unduh kode sumber untuk Flink 1.15.4:

   ```
   wget https://archive.apache.org/dist/flink/flink-1.15.4/flink-1.15.4-src.tgz
   ```

1. Buka kompres kode sumber:

   ```
   tar -xvf flink-1.15.4-src.tgz
   ```

1. Arahkan ke direktori konektor kinesis

   ```
   cd flink-1.15.4/flink-connectors/flink-connector-aws-kinesis-streams/
   ```

1. Kompilasi dan instal jar konektor, tentukan versi AWS SDK yang diperlukan. Untuk mempercepat penggunaan build `-DskipTests` untuk melewati eksekusi pengujian dan `-Dfast` melewati pemeriksaan kode sumber tambahan:

   ```
   mvn clean install -DskipTests -Dfast -Daws.sdk.version=2.20.144
   ```

1. Arahkan ke direktori konektor kinesis

   ```
   cd ../flink-sql-connector-aws-kinesis-streams
   ```

1. Kompilasi dan pasang jar konektor sql:

   ```
   mvn clean install -DskipTests -Dfast
   ```

1. Jar yang dihasilkan akan tersedia di:

   ```
   target/flink-sql-connector-aws-kinesis-streams-1.15.4.jar
   ```

## flink-sql-connector-aws-kinesis-firehose
<a name="troubleshooting-async-deadlock-update-python-apps-flink-sql-connector-kinesis-firehose"></a>

1. Unduh kode sumber untuk Flink 1.15.4:

   ```
   wget https://archive.apache.org/dist/flink/flink-1.15.4/flink-1.15.4-src.tgz
   ```

1. Buka kompres kode sumber:

   ```
   tar -xvf flink-1.15.4-src.tgz
   ```

1. Arahkan ke direktori konektor

   ```
   cd flink-1.15.4/flink-connectors/flink-connector-aws-kinesis-firehose/
   ```

1. Kompilasi dan instal jar konektor, tentukan versi AWS SDK yang diperlukan. Untuk mempercepat penggunaan build `-DskipTests` untuk melewati eksekusi pengujian dan `-Dfast` melewati pemeriksaan kode sumber tambahan:

   ```
   mvn clean install -DskipTests -Dfast -Daws.sdk.version=2.20.144
   ```

1. Arahkan ke direktori konektor sql

   ```
   cd ../flink-sql-connector-aws-kinesis-firehose
   ```

1. Kompilasi dan pasang jar konektor sql:

   ```
   mvn clean install -DskipTests -Dfast
   ```

1. Jar yang dihasilkan akan tersedia di:

   ```
   target/flink-sql-connector-aws-kinesis-firehose-1.15.4.jar
   ```

## flink-sql-connector-dynamodb
<a name="troubleshooting-async-deadlock-update-python-apps-flink-sql-connector-dynamodb"></a>

1. Unduh kode sumber untuk Flink 1.15.4:

   ```
   wget https://archive.apache.org/dist/flink/flink-connector-aws-3.0.0/flink-connector-aws-3.0.0-src.tgz
   ```

1. Buka kompres kode sumber:

   ```
   tar -xvf flink-connector-aws-3.0.0-src.tgz
   ```

1. Arahkan ke direktori konektor

   ```
   cd flink-connector-aws-3.0.0
   ```

1. Kompilasi dan instal jar konektor, tentukan versi AWS SDK yang diperlukan. Untuk mempercepat penggunaan build `-DskipTests` untuk melewati eksekusi pengujian dan `-Dfast` melewati pemeriksaan kode sumber tambahan:

   ```
   mvn clean install -DskipTests -Dfast -Dflink.version=1.15.4 -Daws.sdk.version=2.20.144
   ```

1. Jar yang dihasilkan akan tersedia di:

   ```
   flink-sql-connector-dynamodb/target/flink-sql-connector-dynamodb-3.0.0.jar
   ```

# Data Amazon Kinesis mengalirkan pemrosesan sumber yang rusak selama re-sharding
<a name="troubleshooting-kinesis-data-streams-processing-out-of-order"></a>

 FlinkKinesisConsumer Implementasi saat ini tidak memberikan jaminan pemesanan yang kuat antara pecahan Kinesis. Hal ini dapat menyebabkan out-of-order pemrosesan selama re-sharding Kinesis Stream, khususnya untuk aplikasi Flink yang mengalami kelambatan pemrosesan. Dalam beberapa keadaan, misalnya operator windows berdasarkan waktu acara, peristiwa mungkin dibuang karena keterlambatan yang dihasilkan. 

![\[Diagram showing shards and shard consumers with time progression and trim horizon.\]](http://docs.aws.amazon.com/id_id/managed-flink/latest/java/images/flink-ts.png)


Ini adalah [masalah yang diketahui](https://issues.apache.org/jira/browse/FLINK-6349) di Open Source Flink. Sampai perbaikan konektor tersedia, pastikan aplikasi Flink Anda tidak tertinggal di belakang Kinesis Data Streams selama partisi ulang. Dengan memastikan bahwa penundaan pemrosesan ditoleransi oleh aplikasi Flink Anda, Anda dapat meminimalkan dampak out-of-order pemrosesan dan risiko kehilangan data. 

# Cetak biru penyematan vektor waktu nyata FAQ dan pemecahan masalah
<a name="troubleshooting-blueprints"></a>

Tinjau bagian FAQ dan pemecahan masalah berikut untuk memecahkan masalah cetak biru penyematan vektor waktu nyata. Untuk informasi selengkapnya tentang cetak biru penyematan vektor waktu nyata, lihat Cetak biru penyematan vektor [waktu nyata](https://docs.aws.amazon.com/msk/latest/developerguide/ai-vector-embedding-integration-learn-more.html).

[Untuk pemecahan masalah aplikasi Apache Flink Layanan Terkelola umum, lihat -runtime.html. https://docs.aws.amazon.com/managed-flink/ latest/java/troubleshooting](https://docs.aws.amazon.com/managed-flink/latest/java/troubleshooting-runtime.html)

**Topics**
+ [Cetak biru penyematan vektor waktu nyata - FAQ](troubleshooting-blueprints-FAQ.md)
+ [Cetak biru penyematan vektor waktu nyata - pemecahan masalah](troubleshooting-blueprints-TS.md)

# Cetak biru penyematan vektor waktu nyata - FAQ
<a name="troubleshooting-blueprints-FAQ"></a>

Tinjau FAQ berikut tentang cetak biru penyematan vektor waktu nyata. Untuk informasi selengkapnya tentang cetak biru penyematan vektor waktu nyata, lihat Cetak biru penyematan vektor [waktu nyata](https://docs.aws.amazon.com/msk/latest/developerguide/ai-vector-embedding-integration-learn-more.html).

**Topics**
+ [AWS Sumber daya apa yang dibuat cetak biru ini?](#troubleshooting-blueprints-1)
+ [Apa tindakan saya setelah penerapan AWS CloudFormation tumpukan selesai?](#troubleshooting-blueprints-2)
+ [Apa yang seharusnya menjadi struktur data dalam topik MSK Amazon sumber?](#troubleshooting-blueprints-3)
+ [Dapatkah saya menentukan bagian dari pesan untuk disematkan?](#troubleshooting-blueprints-4)
+ [Dapatkah saya membaca data dari beberapa topik MSK Amazon?](#troubleshooting-blueprints-5)
+ [Dapatkah saya menggunakan regex untuk mengonfigurasi nama topik MSK Amazon?](#troubleshooting-blueprints-6)
+ [Berapa ukuran maksimum pesan yang dapat dibaca dari topik MSK Amazon?](#troubleshooting-blueprints-7)
+ [Jenis apa OpenSearch yang didukung?](#troubleshooting-blueprints-8)
+ [Mengapa saya perlu menggunakan koleksi pencarian vektor, indeks vektor, dan menambahkan bidang vektor di kolelksi OpenSearch Tanpa Server saya?](#troubleshooting-blueprints-9)
+ [Apa yang harus saya tetapkan sebagai dimensi untuk bidang vektor saya?](#troubleshooting-blueprints-10)
+ [Seperti apa output dalam OpenSearch indeks yang dikonfigurasi?](#troubleshooting-blueprints-11)
+ [Dapatkah saya menentukan bidang metadata untuk ditambahkan ke dokumen yang disimpan dalam indeks? OpenSearch](#troubleshooting-blueprints-12)
+ [Haruskah saya mengharapkan entri duplikat dalam indeks? OpenSearch](#troubleshooting-blueprints-13)
+ [Dapatkah saya mengirim data ke beberapa OpenSearch indeks?](#troubleshooting-blueprints-14)
+ [Dapatkah saya menerapkan beberapa aplikasi penyematan vektor real-time dalam satu aplikasi? Akun AWS](#troubleshooting-blueprints-15)
+ [Dapatkah beberapa aplikasi penyematan vektor waktu nyata menggunakan sumber atau sink data yang sama?](#troubleshooting-blueprints-16)
+ [Apakah aplikasi mendukung konektivitas lintas akun?](#troubleshooting-blueprints-17)
+ [Apakah aplikasi mendukung konektivitas lintas wilayah?](#troubleshooting-blueprints-18)
+ [Bisakah cluster dan OpenSearch koleksi MSK Amazon saya berbeda VPCs atau subnet?](#troubleshooting-blueprints-19)
+ [Model penyematan apa yang didukung oleh aplikasi?](#troubleshooting-blueprints-20)
+ [Dapatkah saya menyempurnakan kinerja aplikasi saya berdasarkan beban kerja saya?](#troubleshooting-blueprints-21)
+ [Jenis otentikasi MSK Amazon apa yang didukung?](#troubleshooting-blueprints-22)
+ [Apa itu `sink.os.bulkFlushIntervalMillis` dan bagaimana cara mengaturnya?](#troubleshooting-blueprints-23)
+ [Ketika saya menerapkan Layanan Terkelola untuk aplikasi Apache Flink saya, dari titik mana dalam topik MSK Amazon akan mulai membaca pesan?](#troubleshooting-blueprints-24)
+ [Bagaimana cara saya menggunakan`source.msk.starting.offset`?](#troubleshooting-blueprints-25)
+ [Strategi chunking apa yang didukung?](#troubleshooting-blueprints-26)
+ [Bagaimana cara membaca catatan di datastore vektor saya?](#troubleshooting-blueprints-27)
+ [Di mana saya dapat menemukan pembaruan baru untuk kode sumber?](#troubleshooting-blueprints-28)
+ [Dapatkah saya membuat perubahan pada AWS CloudFormation template dan memperbarui Layanan Terkelola untuk aplikasi Apache Flink?](#troubleshooting-blueprints-29)
+ [Apakah akan AWS memantau dan memelihara aplikasi atas nama saya?](#troubleshooting-blueprints-30)
+ [Apakah aplikasi ini memindahkan data saya ke luar saya Akun AWS?](#troubleshooting-blueprints-31)

## AWS Sumber daya apa yang dibuat cetak biru ini?
<a name="troubleshooting-blueprints-1"></a>

Untuk menemukan sumber daya yang digunakan di akun Anda, navigasikan ke AWS CloudFormation konsol dan identifikasi nama tumpukan yang dimulai dengan nama yang Anda berikan untuk aplikasi Managed Service for Apache Flink. Pilih tab **Sumber Daya** untuk memeriksa sumber daya yang dibuat sebagai bagian dari tumpukan. Berikut ini adalah sumber daya utama yang dibuat oleh stack:
+ Penyematan vektor real-time Layanan Terkelola untuk aplikasi Apache Flink
+ Bucket Amazon S3 untuk menyimpan kode sumber untuk aplikasi penyematan vektor waktu nyata
+ CloudWatch grup log dan aliran log untuk menyimpan log
+ Fungsi Lambda untuk mengambil dan membuat sumber daya
+ Peran dan kebijakan IAM untuk Lambdas, Layanan Terkelola untuk aplikasi Apache Flink, dan mengakses Amazon Bedrock dan Amazon Service OpenSearch 
+ Kebijakan akses data untuk Amazon OpenSearch Service
+ Titik akhir VPC untuk mengakses Amazon Bedrock dan Amazon Service OpenSearch 

## Apa tindakan saya setelah penerapan AWS CloudFormation tumpukan selesai?
<a name="troubleshooting-blueprints-2"></a>

Setelah penyebaran AWS CloudFormation tumpukan selesai, akses Managed Service for Apache Flink console dan temukan blueprint Managed Service for Apache Flink Anda. Pilih tab **Configure** dan konfirmasikan bahwa semua properti runtime diatur dengan benar. Mereka mungkin meluap ke halaman berikutnya. Saat Anda yakin dengan pengaturannya, pilih **Jalankan**. Aplikasi akan mulai menelan pesan dari topik Anda.

Untuk memeriksa rilis baru, lihat [https://github.com/awslabs/real-time-vectorization-of-streaming-data/releases](https://github.com/awslabs/real-time-vectorization-of-streaming-data/releases).

## Apa yang seharusnya menjadi struktur data dalam topik MSK Amazon sumber?
<a name="troubleshooting-blueprints-3"></a>

Saat ini kami mendukung data sumber terstruktur dan tidak terstruktur. 
+ Data tidak terstruktur dilambangkan dengan in. `STRING` `source.msk.data.type` Data dibaca apa adanya dari pesan yang masuk.
+ Saat ini kami mendukung data JSON terstruktur, dilambangkan dengan in. `JSON` `source.msk.data.type` Data harus selalu dalam format JSON. Jika aplikasi menerima JSON yang cacat, aplikasi akan gagal. 
+ Saat menggunakan JSON sebagai tipe data sumber, pastikan bahwa setiap pesan di semua topik sumber adalah JSON yang valid. Jika Anda berlangganan satu atau lebih topik yang tidak berisi objek JSON dengan pengaturan ini, aplikasi akan gagal. Jika satu atau beberapa topik memiliki campuran data terstruktur dan tidak terstruktur, sebaiknya Anda mengonfigurasi data sumber sebagai tidak terstruktur dalam aplikasi Managed Service for Apache Flink. 

## Dapatkah saya menentukan bagian dari pesan untuk disematkan?
<a name="troubleshooting-blueprints-4"></a>
+ Untuk data input yang tidak terstruktur`STRING`, aplikasi akan selalu menyematkan seluruh pesan dan menyimpan seluruh pesan dalam indeks yang dikonfigurasi OpenSearch . `source.msk.data.type`
+ Untuk data input terstruktur di `source.msk.data.type` mana`JSON`, Anda dapat mengonfigurasi `embed.input.config.json.fieldsToEmbed` untuk menentukan bidang mana di objek JSON yang harus dipilih untuk disematkan. Ini hanya berfungsi untuk bidang JSON tingkat atas dan tidak berfungsi dengan bersarang JSONs dan dengan pesan yang berisi array JSON. Gunakan .\$1 untuk menyematkan seluruh JSON.

## Dapatkah saya membaca data dari beberapa topik MSK Amazon?
<a name="troubleshooting-blueprints-5"></a>

Ya, Anda dapat membaca data dari beberapa topik MSK Amazon dengan aplikasi ini. Data dari semua topik harus dari jenis yang sama (baik STRING atau JSON) atau dapat menyebabkan aplikasi gagal. Data dari semua topik selalu disimpan dalam satu OpenSearch indeks.

## Dapatkah saya menggunakan regex untuk mengonfigurasi nama topik MSK Amazon?
<a name="troubleshooting-blueprints-6"></a>

`source.msk.topic.names`tidak mendukung daftar regex. Kami mendukung daftar nama topik atau `.*` regex yang dipisahkan koma untuk menyertakan semua topik.

## Berapa ukuran maksimum pesan yang dapat dibaca dari topik MSK Amazon?
<a name="troubleshooting-blueprints-7"></a>

Ukuran maksimum pesan yang dapat diproses dibatasi oleh batas InvokeModel tubuh Amazon Bedrock yang saat ini ditetapkan menjadi 25.000.000. Untuk informasi selengkapnya, lihat [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html#API_runtime_InvokeModel_RequestBody).

## Jenis apa OpenSearch yang didukung?
<a name="troubleshooting-blueprints-8"></a>

Kami mendukung OpenSearch domain dan koleksi. Jika Anda menggunakan OpenSearch koleksi, pastikan untuk menggunakan koleksi vektor dan membuat indeks vektor untuk digunakan untuk aplikasi ini. Ini akan memungkinkan Anda menggunakan kemampuan database OpenSearch vektor untuk query data Anda. Untuk mempelajari selengkapnya, lihat [dijelaskan kapabilitas database vektor Amazon OpenSearch Service](https://aws.amazon.com/blogs/big-data/amazon-opensearch-services-vector-database-capabilities-explained/).

## Mengapa saya perlu menggunakan koleksi pencarian vektor, indeks vektor, dan menambahkan bidang vektor di kolelksi OpenSearch Tanpa Server saya?
<a name="troubleshooting-blueprints-9"></a>

Jenis koleksi *pencarian vektor* di OpenSearch Tanpa Server memberikan kemampuan pencarian kesamaan yang dapat diskalakan dan berkinerja tinggi. Ini merampingkan pembangunan pengalaman pencarian tambahan pembelajaran mesin (ML) modern dan aplikasi kecerdasan buatan (AI) generatif. Untuk informasi selengkapnya, lihat [Bekerja dengan koleksi pencarian vektor](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html?icmpid=docs_console_unmapped).

## Apa yang harus saya tetapkan sebagai dimensi untuk bidang vektor saya?
<a name="troubleshooting-blueprints-10"></a>

Atur dimensi bidang vektor berdasarkan model penyematan yang ingin Anda gunakan. Lihat tabel berikut, dan konfirmasikan nilai-nilai ini dari dokumentasi masing-masing.


**Dimensi bidang vektor**  

| Nama model penyematan vektor Amazon Bedrock | Dukungan dimensi output yang ditawarkan oleh model | 
| --- | --- | 
|  Embeddings Teks Amazon Titan V1  | 1,536 | 
|  Embeddings Teks Amazon Titan V2  | 1.024 (default), 384, 256 | 
|  Embeddings Multimodal Amazon Titan G1  | 1.024 (default), 384, 256 | 
|  Cohere Sematkan Bahasa Inggris  | 1,024 | 
|  Cohere Sematkan Multilingual  | 1,024 | 

## Seperti apa output dalam OpenSearch indeks yang dikonfigurasi?
<a name="troubleshooting-blueprints-11"></a>

Setiap dokumen dalam OpenSearch indeks berisi bidang-bidang berikut:
+ **original\$1data: Data** yang digunakan untuk menghasilkan embeddings. Untuk tipe STRING, itu adalah seluruh pesan. Untuk objek JSON, itu adalah objek JSON yang digunakan untuk penyematan. Bisa jadi seluruh JSON dalam pesan atau bidang tertentu di JSON. Misalnya, jika nama dipilih untuk disematkan dari pesan masuk, output akan terlihat sebagai berikut:

  ```
  "original_data": "{\"name\":\"John Doe\"}"
  ```
+ **embedded\$1data**: Array float vektor dari embeddings yang dihasilkan oleh Amazon Bedrock
+ **tanggal**: stempel waktu UTC di mana dokumen disimpan OpenSearch

## Dapatkah saya menentukan bidang metadata untuk ditambahkan ke dokumen yang disimpan dalam indeks? OpenSearch
<a name="troubleshooting-blueprints-12"></a>

Tidak, saat ini, kami tidak mendukung penambahan bidang tambahan ke dokumen akhir yang disimpan dalam OpenSearch indeks.

## Haruskah saya mengharapkan entri duplikat dalam indeks? OpenSearch
<a name="troubleshooting-blueprints-13"></a>

Bergantung pada cara Anda mengonfigurasi aplikasi, Anda mungkin melihat pesan duplikat dalam indeks. Salah satu alasan umum adalah restart aplikasi. Aplikasi ini dikonfigurasi secara default untuk mulai membaca dari pesan paling awal dalam topik sumber. Ketika Anda mengubah configuraiton, aplikasi restart, dan memproses semua pesan dalam topik lagi. Untuk menghindari pemrosesan ulang, lihat dokumentasi tentang cara menggunakan source.msk.starting.offset dan atur offset awal aplikasi Anda dengan benar.

## Dapatkah saya mengirim data ke beberapa OpenSearch indeks?
<a name="troubleshooting-blueprints-14"></a>

Tidak, aplikasi mendukung penyimpanan data ke OpenSearch indeks tunggal. Untuk mengatur output vektorisasi ke beberapa indeks, Anda harus menerapkan Layanan Terkelola terpisah untuk aplikasi Apache Flink.

## Dapatkah saya menerapkan beberapa aplikasi penyematan vektor real-time dalam satu aplikasi? Akun AWS
<a name="troubleshooting-blueprints-15"></a>

Ya, Anda dapat menerapkan beberapa penyematan vektor real-time Layanan Terkelola untuk aplikasi Apache Flink dalam satu Akun AWS jika setiap aplikasi memiliki nama yang unik.

## Dapatkah beberapa aplikasi penyematan vektor waktu nyata menggunakan sumber atau sink data yang sama?
<a name="troubleshooting-blueprints-16"></a>

Ya, Anda dapat membuat beberapa vektor real-time embedding Managed Service untuk aplikasi Apache Flink yang membaca data dari topik yang sama atau menyimpan data dalam indeks yang sama.

## Apakah aplikasi mendukung konektivitas lintas akun?
<a name="troubleshooting-blueprints-17"></a>

Tidak, agar aplikasi berjalan dengan sukses, kluster MSK Amazon dan OpenSearch koleksinya harus sama di Akun AWS mana Anda mencoba mengatur Layanan Terkelola untuk aplikasi Apache Flink Anda.

## Apakah aplikasi mendukung konektivitas lintas wilayah?
<a name="troubleshooting-blueprints-18"></a>

Tidak, aplikasi ini hanya memungkinkan Anda untuk menyebarkan Layanan Terkelola untuk aplikasi Apache Flink dengan cluster MSK Amazon dan OpenSearch koleksi di Wilayah yang sama dari Layanan Terkelola untuk aplikasi Apache Flink.

## Bisakah cluster dan OpenSearch koleksi MSK Amazon saya berbeda VPCs atau subnet?
<a name="troubleshooting-blueprints-19"></a>

Ya, kami mendukung cluster dan OpenSearch koleksi MSK Amazon di berbagai subnet VPCs dan selama keduanya sama. Akun AWS Lihat (Pemecahan masalah MSF Umum) untuk memastikan pengaturan Anda benar.

## Model penyematan apa yang didukung oleh aplikasi?
<a name="troubleshooting-blueprints-20"></a>

Saat ini, aplikasi mendukung semua model yang didukung oleh Bedrock. Ini termasuk:
+ Amazon Titan Embeddings G1 - Teks
+  Embeddings Teks Amazon Titan V2
+  Embeddings Multimodal Amazon Titan G1 
+  Cohere Sematkan Bahasa Inggris 
+  Cohere Sematkan Multilingual 

## Dapatkah saya menyempurnakan kinerja aplikasi saya berdasarkan beban kerja saya?
<a name="troubleshooting-blueprints-21"></a>

Ya. Throughput aplikasi tergantung pada sejumlah faktor, yang semuanya dapat dikontrol oleh pelanggan: 

1. **AWS MSF KPUs**: Aplikasi ini digunakan dengan faktor paralelisme default 2 dan paralelisme per KPU 1, dengan penskalaan otomatis dihidupkan. Namun, kami menyarankan Anda mengonfigurasi penskalaan untuk aplikasi Managed Service for Apache Flink sesuai dengan beban kerja Anda. Untuk informasi selengkapnya, lihat [Meninjau Layanan Terkelola untuk sumber daya aplikasi Apache Flink](https://docs.aws.amazon.com/managed-flink/latest/java/how-resources.html).

1. **Amazon Bedrock**: Berdasarkan model berdasarkan permintaan Amazon Bedrock yang dipilih, kuota yang berbeda mungkin berlaku. Tinjau kuota layanan di Bedrock untuk melihat beban kerja yang dapat ditangani oleh layanan. Untuk informasi selengkapnya, lihat [Kuota untuk Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

1. ** OpenSearch Layanan Amazon**: Selain itu, dalam beberapa situasi, Anda mungkin memperhatikan bahwa itu OpenSearch adalah hambatan dalam pipeline Anda. Untuk informasi penskalaan, lihat OpenSearch penskalaan [ukuran domain Layanan OpenSearch Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/sizing-domains.html).

## Jenis otentikasi MSK Amazon apa yang didukung?
<a name="troubleshooting-blueprints-22"></a>

Kami hanya mendukung jenis otentikasi IAM MSK.

## Apa itu `sink.os.bulkFlushIntervalMillis` dan bagaimana cara mengaturnya?
<a name="troubleshooting-blueprints-23"></a>

Saat mengirim data ke OpenSearch Layanan Amazon, interval flush massal adalah interval di mana permintaan massal dijalankan, terlepas dari jumlah tindakan atau ukuran permintaan. Nilai default diatur ke 1 milidetik.

Meskipun mengatur interval flush dapat membantu memastikan bahwa data diindeks tepat waktu, itu juga dapat menyebabkan peningkatan overhead jika disetel terlalu rendah. Pertimbangkan kasus penggunaan Anda dan pentingnya pengindeksan tepat waktu saat memilih interval flush.

## Ketika saya menerapkan Layanan Terkelola untuk aplikasi Apache Flink saya, dari titik mana dalam topik MSK Amazon akan mulai membaca pesan?
<a name="troubleshooting-blueprints-24"></a>

Aplikasi akan mulai membaca pesan dari topik MSK Amazon pada offset yang ditentukan oleh `source.msk.starting.offset` konfigurasi yang ditetapkan dalam konfigurasi runtime aplikasi. Jika tidak `source.msk.starting.offset` ditetapkan secara eksplisit, perilaku default aplikasi adalah mulai membaca dari pesan paling awal yang tersedia dalam topik.

## Bagaimana cara saya menggunakan`source.msk.starting.offset`?
<a name="troubleshooting-blueprints-25"></a>

Secara eksplisit mengatur s `ource.msk.starting.offset` ke salah satu nilai berikut, berdasarkan perilaku yang diinginkan: 


+  EARLIEST: Pengaturan default, yang berbunyi dari offset tertua di partisi. Ini adalah pilihan yang baik terutama jika: 
  +  Anda telah membuat topik MSK Amazon dan aplikasi konsumen yang baru dibuat.
  +  Anda perlu memutar ulang data, sehingga Anda dapat membangun atau merekonstruksi status. Ini relevan saat menerapkan pola sumber acara atau saat menginisialisasi layanan baru yang memerlukan tampilan lengkap dari riwayat data. 
+ TERBARU: Layanan Terkelola untuk aplikasi Apache Flink akan membaca pesan dari akhir partisi. Kami merekomendasikan opsi ini jika Anda hanya peduli dengan pesan baru yang diproduksi dan tidak perlu memproses data historis. Dalam pengaturan ini, konsumen akan mengabaikan pesan yang ada dan hanya membaca pesan baru yang diterbitkan oleh produsen hulu.
+ BERKOMITMEN: Layanan Terkelola untuk aplikasi Apache Flink akan mulai mengkonsumsi pesan dari offset yang berkomitmen dari grup yang mengkonsumsi. Jika offset komited tidak ada, strategi reset EARLIEST akan digunakan. 

## Strategi chunking apa yang didukung?
<a name="troubleshooting-blueprints-26"></a>

Kami menggunakan perpustakaan [langchain](https://js.langchain.com/v0.1/docs/get_started/introduction/) untuk memotong input. Chunking hanya diterapkan jika panjang input lebih besar dari yang dipilih. `maxSegmentSizeInChars` Kami mendukung lima jenis chunking berikut:
+ `SPLIT_BY_CHARACTER`: Akan muat sebanyak mungkin karakter ke dalam setiap potongan di mana setiap panjang potongan tidak lebih besar dari. maxSegmentSize InChars Tidak peduli dengan spasi putih, sehingga dapat memotong kata-kata.
+ `SPLIT_BY_WORD`: Akan menemukan karakter spasi putih untuk dipotong oleh. Tidak ada kata-kata yang terputus.
+ `SPLIT_BY_SENTENCE`: Batas kalimat terdeteksi menggunakan pustaka Apache OpenNLP dengan model kalimat bahasa Inggris.
+ `SPLIT_BY_LINE`: Akan menemukan karakter baris baru untuk dipotong.
+ `SPLIT_BY_PARAGRAPH`: Akan menemukan karakter baris baru berturut-turut untuk dipotongi.

Strategi pemisahan jatuh kembali sesuai dengan urutan sebelumnya, di mana strategi chunking yang lebih besar seperti jatuh kembali ke. `SPLIT_BY_PARAGRAPH` `SPLIT_BY_CHARACTER` Misalnya, ketika menggunakan`SPLIT_BY_LINE`, jika garis terlalu panjang maka baris akan di-sub-chunked oleh kalimat, di mana setiap potongan akan muat dalam kalimat sebanyak mungkin. Jika ada kalimat yang terlalu panjang, maka akan terpotong di tingkat kata. Jika sebuah kata terlalu panjang, maka itu akan dibagi oleh karakter.

## Bagaimana cara membaca catatan di datastore vektor saya?
<a name="troubleshooting-blueprints-27"></a>

1. `source.msk.data.type`Kapan `STRING`
   + **original\$1data**: Seluruh string asli dari pesan MSK Amazon.
   + **embedded\$1data**: Vektor penyematan dibuat dari `chunk_data` jika tidak kosong (chunking diterapkan) atau dibuat dari jika tidak ada chunking yang diterapkan. `original_data`
   + **chunk\$1data**: Hanya ada saat data asli terpotong. Berisi potongan pesan asli yang digunakan untuk membuat penyematan di. `embedded_data`

1. `source.msk.data.type`Kapan `JSON`
   + **original\$1data**: Seluruh JSON asli dari pesan MSK Amazon *setelah* pemfilteran kunci JSON diterapkan. 
   + **embedded\$1data**: Vektor penyematan dibuat dari `chunk_data` jika tidak kosong (chunking diterapkan) atau dibuat dari jika tidak ada chunking yang diterapkan. `original_data`
   + **chunk\$1key**: Hanya ada saat data asli terpotong. Berisi kunci JSON tempat potongan itu berasal. `original_data` Misalnya, dapat terlihat seperti `jsonKey1.nestedJsonKeyA` kunci bersarang atau *metadata* dalam contoh. `original_data`
   + **chunk\$1data**: Hanya ada saat data asli terpotong. Berisi potongan pesan asli yang digunakan untuk membuat penyematan di. `embedded_data`

Ya, Anda dapat membaca data dari beberapa topik MSK Amazon dengan aplikasi ini. Data dari semua topik harus dari jenis yang sama (baik STRING atau JSON) atau dapat menyebabkan aplikasi gagal. Data dari semua topik selalu disimpan dalam satu OpenSearch indeks.

## Di mana saya dapat menemukan pembaruan baru untuk kode sumber?
<a name="troubleshooting-blueprints-28"></a>

Pergi ke [https://github.com/awslabs/real-time-vectorization-of-streaming-data/releases untuk memeriksa rilis baru](https://github.com/awslabs/real-time-vectorization-of-streaming-data/releases).

## Dapatkah saya membuat perubahan pada AWS CloudFormation template dan memperbarui Layanan Terkelola untuk aplikasi Apache Flink?
<a name="troubleshooting-blueprints-29"></a>

Tidak, membuat perubahan pada AWS CloudFormation template tidak memperbarui Layanan Terkelola untuk aplikasi Apache Flink. Setiap perubahan baru AWS CloudFormation menyiratkan tumpukan baru perlu diterapkan.

## Apakah akan AWS memantau dan memelihara aplikasi atas nama saya?
<a name="troubleshooting-blueprints-30"></a>

Tidak, tidak AWS akan memantau, menskalakan, memperbarui, atau menambal aplikasi ini atas nama Anda. 

## Apakah aplikasi ini memindahkan data saya ke luar saya Akun AWS?
<a name="troubleshooting-blueprints-31"></a>

Semua data yang dibaca dan disimpan oleh Layanan Terkelola untuk aplikasi Apache Flink tetap berada di dalam akun Anda Akun AWS dan tidak pernah meninggalkan akun Anda.

# Cetak biru penyematan vektor waktu nyata - pemecahan masalah
<a name="troubleshooting-blueprints-TS"></a>

Tinjau topik pemecahan masalah berikut tentang cetak biru penyematan vektor waktu nyata. Untuk informasi selengkapnya tentang cetak biru penyematan vektor waktu nyata, lihat Cetak biru penyematan vektor [waktu nyata](https://docs.aws.amazon.com/msk/latest/developerguide/ai-vector-embedding-integration-learn-more.html).

**Topics**
+ [Penerapan CloudFormation tumpukan saya gagal atau dibatalkan. Apa yang bisa saya lakukan untuk memperbaikinya?](#troubleshooting-blueprints-deployment)
+ [Saya tidak ingin aplikasi saya mulai membaca pesan dari awal topik MSK Amazon. Apa yang harus saya lakukan?](#troubleshooting-blueprints-beginning)
+ [Bagaimana saya tahu jika ada masalah dengan Layanan Terkelola saya untuk aplikasi Apache Flink dan bagaimana saya bisa men-debug itu?](#troubleshooting-blueprints-debug)
+ [Apa metrik utama yang harus saya pantau untuk aplikasi Managed Service for Apache Flink saya?](#troubleshooting-blueprints-metrics)

## Penerapan CloudFormation tumpukan saya gagal atau dibatalkan. Apa yang bisa saya lakukan untuk memperbaikinya?
<a name="troubleshooting-blueprints-deployment"></a>
+ Buka tumpukan CFN Anda dan temukan alasan kegagalan tumpukan. Ini bisa terkait dengan izin yang hilang, tabrakan nama AWS sumber daya, di antara penyebab lainnya. Perbaiki akar penyebab kegagalan penerapan. Untuk informasi selengkapnya, lihat panduan [ CloudWatch pemecahan masalah](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#basic-ts-guide).
+  [Opsional] Hanya ada satu titik akhir VPC per layanan per VPC. Jika Anda menerapkan beberapa cetak biru penyematan vektor real-time untuk menulis ke koleksi OpenSearch Layanan Amazon di VPC yang sama, mereka mungkin berbagi titik akhir VPC. Ini mungkin sudah ada di akun Anda untuk VPC, atau tumpukan cetak biru penyematan vektor real-time pertama akan membuat titik akhir VPC untuk Amazon Bedrock dan OpenSearch Amazon Service yang akan digunakan oleh semua tumpukan lain yang digunakan di akun Anda. Jika tumpukan gagal, periksa apakah tumpukan itu membuat titik akhir VPC untuk Amazon Bedrock dan OpenSearch Amazon Service dan hapus jika tidak digunakan di tempat lain di akun Anda. Untuk langkah-langkah menghapus titik akhir VPC, lihat dokumentasi tentang cara menghapus aplikasi Anda dengan aman.
+ Mungkin ada layanan atau aplikasi lain di akun Anda menggunakan titik akhir VPC. Menghapusnya dapat membuat gangguan jaringan untuk layanan lain. Hati-hati dalam menghapus titik akhir ini.

## Saya tidak ingin aplikasi saya mulai membaca pesan dari awal topik MSK Amazon. Apa yang harus saya lakukan?
<a name="troubleshooting-blueprints-beginning"></a>

Anda harus secara eksplisit mengatur `source.msk.starting.offset` ke salah satu nilai berikut, tergantung pada perilaku yang diinginkan:
+ Offset **paling awal: Offset** tertua di partisi.
+ **Offset terbaru**: Konsumen akan membaca pesan dari ujung partisi.
+ **Offset komited**: Baca dari pesan terakhir yang diproses konsumen dalam partisi.

## Bagaimana saya tahu jika ada masalah dengan Layanan Terkelola saya untuk aplikasi Apache Flink dan bagaimana saya bisa men-debug itu?
<a name="troubleshooting-blueprints-debug"></a>

Gunakan [panduan pemecahan masalah Layanan Terkelola untuk Apache Flink untuk men-debug Layanan Terkelola untuk masalah](https://docs.aws.amazon.com/managed-flink/latest/java/troubleshooting-runtime.html) terkait Apache Flink dengan aplikasi Anda.

## Apa metrik utama yang harus saya pantau untuk aplikasi Managed Service for Apache Flink saya?
<a name="troubleshooting-blueprints-metrics"></a>
+ Semua metrik yang tersedia untuk Layanan Terkelola reguler untuk aplikasi Apache Flink dapat membantu Anda memantau aplikasi Anda. Untuk informasi selengkapnya, lihat [Metrik dan dimensi dalam Layanan Terkelola untuk Apache Flink](https://docs.aws.amazon.com/managed-flink/latest/java/metrics-dimensions.html).
+ Untuk memantau metrik Amazon Bedrock, lihat metrik Amazon [ CloudWatch untuk Amazon](https://docs.aws.amazon.com/bedrock/latest/userguide/monitoring.html#runtime-cloudwatch-metrics) Bedrock.
+ Kami telah menambahkan dua metrik baru untuk memantau kinerja pembuatan embeddings. Temukan mereka di bawah nama `EmbeddingGeneration` operasi di CloudWatch. Kedua metrik tersebut adalah:
  + **BedrockTitanEmbeddingTokenCount**: Jumlah token hadir dalam satu permintaan ke Amazon Bedrock.
  + **BedrockEmbeddingGenerationLatencyMs**: Melaporkan waktu yang dibutuhkan untuk mengirim dan menerima tanggapan dari Amazon Bedrock untuk menghasilkan penyematan, dalam milidetik.
+ Untuk koleksi tanpa server Amazon OpenSearch Service, Anda dapat menggunakan metrik seperti`IngestionDataRate`, `IngestionDocumentErrors` dan lainnya. Untuk informasi selengkapnya, lihat [Memantau OpenSearch Tanpa Server dengan Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring-cloudwatch.html). CloudWatch
+ Untuk metrik OpenSearch yang disediakan, lihat [Memantau metrik OpenSearch klaster](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-cloudwatchmetrics.html) dengan Amazon. CloudWatch