アプリケーションのアップグレードに関する注意事項と既知の問題 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アプリケーションのアップグレードに関する注意事項と既知の問題

ブローカーの再起動後に Kafka Commit on checkpointing が繰り返し失敗する

Flink バージョン 1.15 の Apache Kafka コネクタには、Kafka クライアント 2.8.1 の重要なオープンソース Kafka クライアントのバグが原因で、既知のオープンソース Apache Flink の問題があります。詳細については、「ブローカーの再起動後にチェックポイントに関する Kafka Commit が繰り返し失敗し、例外 の後にグループコーディネーターへの接続を回復できない」を参照してください。 KafkaConsumer commitOffsetAsync

この問題を回避するには、Amazon Managed Service for Apache Flink で Apache Flink 1.18 以降を使用することをお勧めします。

状態互換性の既知の制限

Flink Kinesis Connector の既知の問題

  • Flink 1.11 以前を使用していて、コネクタを amazon-kinesis-connector-flink Enhanced-fan-out (EFO) サポートに使用している場合は、Flink 1.13 以降にステートフルアップグレードするための追加の手順を実行する必要があります。これは、コネクタのパッケージ名が変更されているためです。詳細については、「」を参照してくださいamazon-kinesis-connector-flink

    Flink 1.11 以前のamazon-kinesis-connector-flinkコネクタはパッケージ を使用しますがsoftware.amazon.kinesis、Flink 1.13 以降の Kinesis コネクタは を使用しますorg.apache.flink.streaming.connectors.kinesis。このツールを使用して移行をサポートします: amazon-kinesis-connector-flink-state-migrator

  • で Flink 1.13 以前を使用してFlinkKinesisProducerいて、Flink 1.15 以降にアップグレードする場合、ステートフルアップグレードでは、新しい ではなく FlinkKinesisProducerFlink 1.15 以降を引き続き使用する必要がありますKinesisStreamsSink。ただし、シンクにカスタムuid設定が既にある場合は、 が 状態を維持FlinkKinesisProducerしていないKinesisStreamsSinkため、 に切り替えることができます。カスタムが設定されているため、Flink uid はこれを同じ演算子として扱います。

Scala で記述された Flink アプリケーション

  • Flink 1.15 以降、Apache Flink にはランタイムに Scala は含まれません。Flink 1.15 以降にアップグレードするときは、使用する Scala のバージョンと他の Scala の依存関係をコード JAR/zip に含める必要があります。詳細については、「Amazon Managed Service for Apache Flink for Apache Flink 1.15.2 リリース」を参照してください。

  • アプリケーションが Scala を使用していて、Flink 1.11 以前 (Scala 2.11) から Flink 1.13 (Scala 2.12) にアップグレードする場合は、コードが Scala 2.12 を使用していることを確認してください。それ以外の場合、Flink 1.13 アプリケーションは Flink 1.13 ランタイムで Scala 2.11 クラスを検出できない可能性があります。

Flink アプリケーションをダウングレードするときに考慮すべきこと

  • Flink アプリケーションのダウングレードは可能ですが、以前の Flink バージョンでアプリケーションが以前に実行されていた場合に限られます。ステートフルアップグレードの場合、Apache Flink 用 Managed Service では、ダウングレードに一致する以前のバージョンで取得したスナップショットを使用する必要があります。

  • ランタイムを Flink 1.13 以降から Flink 1.11 以前に更新し、アプリケーションが HashMap 状態バックエンドを使用している場合、アプリケーションは継続的に失敗します。