Tindakan pencegahan dan masalah yang diketahui dengan peningkatan aplikasi - Layanan Terkelola untuk Apache Flink

Amazon Managed Service untuk Apache Flink sebelumnya dikenal sebagai Amazon Kinesis Data Analytics untuk Apache Flink.

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

Tindakan pencegahan dan masalah yang diketahui dengan peningkatan aplikasi

Kafka Commit pada checkpointing gagal berulang kali setelah broker memulai ulang

Ada masalah open source Apache Flink yang diketahui dengan konektor Apache Kafka di Flink versi 1.15 yang disebabkan oleh bug Kafka Client open source kritis di Kafka Client 2.8.1. Untuk informasi selengkapnya, lihat Komit Kafka pada pos pemeriksaan gagal berulang kali setelah broker memulai ulang dan KafkaConsumer tidak dapat memulihkan koneksi ke koordinator grup setelah pengecualian. commitOffsetAsync

Untuk menghindari masalah ini, kami sarankan Anda menggunakan Apache Flink 1.18 atau yang lebih baru di Amazon Managed Service untuk Apache Flink.

Keterbatasan kompatibilitas negara yang diketahui

  • Jika Anda menggunakan TabelAPI, Apache Flink tidak menjamin kompatibilitas status antara versi Flink. Untuk informasi selengkapnya, lihat Peningkatan dan Evolusi Stateful dalam dokumentasi Apache Flink.

  • Status Flink 1.6 tidak kompatibel dengan Flink 1.18. APIMenolak permintaan Anda jika Anda mencoba memutakhirkan dari 1,6 ke 1,18 dan yang lebih baru dengan status. Anda dapat meningkatkan ke 1.8, 1.11, 1.13 dan 1.15 dan mengambil snapshot, dan kemudian meningkatkan ke 1.18 dan yang lebih baru. Untuk informasi selengkapnya, lihat Upgrade Aplikasi dan Versi Flink di dokumentasi Apache Flink.

Masalah yang diketahui dengan Konektor Kinesis Flink

  • Jika Anda menggunakan Flink 1.11 atau lebih lama dan menggunakan amazon-kinesis-connector-flink konektor untuk dukungan Enhanced-fan-out (EFO), Anda harus mengambil langkah ekstra untuk upgrade stateful ke Flink 1.13 atau yang lebih baru. Ini karena perubahan nama paket konektor. Untuk informasi lebih lanjut, lihat amazon-kinesis-connector-flink.

    amazon-kinesis-connector-flinkKonektor untuk Flink 1.11 dan sebelumnya menggunakan kemasansoftware.amazon.kinesis, sedangkan konektor Kinesis untuk Flink 1.13 dan yang lebih baru menggunakan. org.apache.flink.streaming.connectors.kinesis Gunakan alat ini untuk mendukung migrasi Anda: amazon-kinesis-connector-flink-state-migrator.

  • Jika Anda menggunakan Flink 1.13 atau lebih lama dengan FlinkKinesisProducer dan meningkatkan ke Flink 1.15 atau yang lebih baru, untuk peningkatan stateful Anda harus terus menggunakan FlinkKinesisProducer di Flink 1.15 atau yang lebih baru, bukan yang lebih baru. KinesisStreamsSink Namun, jika Anda sudah memiliki uid set khusus di wastafel Anda, Anda harus dapat beralih ke KinesisStreamsSink karena FlinkKinesisProducer tidak mempertahankan status. Flink akan memperlakukannya sebagai operator yang sama karena kustom uid diatur.

Aplikasi Flink ditulis dalam Scala

  • Pada Flink 1.15, Apache Flink tidak menyertakan Scala dalam runtime. Anda harus menyertakan versi Scala yang ingin Anda gunakan dan dependensi Scala lainnya dalam kode JAR /zip Anda saat memutakhirkan ke Flink 1.15 atau yang lebih baru. Untuk informasi selengkapnya, lihat Amazon Managed Service untuk Apache Flink untuk rilis Apache Flink 1.15.2.

  • Jika aplikasi Anda menggunakan Scala dan Anda memutakhirkannya dari Flink 1.11 atau sebelumnya (Scala 2.11) ke Flink 1.13 (Scala 2.12), pastikan kode Anda menggunakan Scala 2.12. Jika tidak, aplikasi Flink 1.13 Anda mungkin gagal menemukan kelas Scala 2.11 di runtime Flink 1.13.

Hal-hal yang perlu dipertimbangkan saat menurunkan aplikasi Flink

  • Menurunkan aplikasi Flink dimungkinkan, tetapi terbatas pada kasus ketika aplikasi sebelumnya berjalan dengan versi Flink yang lebih lama. Untuk upgrade stateful Managed Service untuk Apache Flink akan memerlukan penggunaan snapshot yang diambil dengan versi pencocokan atau versi sebelumnya untuk downgrade

  • Jika Anda memperbarui runtime dari Flink 1.13 atau yang lebih baru ke Flink 1.11 atau yang lebih lama, dan jika aplikasi Anda menggunakan backend HashMap status, aplikasi Anda akan terus gagal.