チェックポイントがタイムアウトしています。 - Managed Service for Apache Flink

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

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

チェックポイントがタイムアウトしています。

アプリケーションが最適化されていなかったり、適切にプロビジョニングされていなかったりすると、チェックポイントが失敗する可能性があります。このセクションでは、この状態の症状とトラブルシューティングの手順について説明します。

症状

アプリケーションのチェックポイントに障害が発生すると、numberOfFailedCheckpoints が 0 より大きくなります。

チェックポイントが失敗するのは、アプリケーションエラーなどの直接的な障害でも、アプリケーションリソース不足などの一時的な障害でもかまいません。アプリケーションログとメトリクスをチェックして、次の症状がないか調べてください。

  • コード内のエラー。

  • アプリケーションの依存サービスへのアクセス中にエラーが発生しました。

  • データのシリアル化中にエラーが発生しました。デフォルトのシリアライザーがアプリケーションデータをシリアル化できない場合、アプリケーションは失敗します。アプリケーションでカスタムシリアライザーを使用する方法については、Apache Flink ドキュメントの「データ型とシリアル化」を参照してください。

  • メモリ不足のエラー

  • 以下の指標が急上昇または着実に増加しています。

    • heapMemoryUtilization

    • oldGenerationGCTime

    • oldGenerationGCCount

    • lastCheckpointSize

    • lastCheckpointDuration

チェックポイントのモニタリングの詳細については、Apache Flink ドキュメントの「チェックポイントのモニタリング」を参照してください。

原因と解決策

アプリケーションログのエラーメッセージには、直接的な障害の原因が示されます。一時的な障害には以下の原因が考えられます。

  • アプリケーションの KPU プロビジョニングが不十分。アプリケーションのプロビジョニングを引き上げる方法については、 スケーリング を参照してください。

  • アプリケーションの状態サイズが大きすぎる。lastCheckpointSize メトリクスを使用してアプリケーションの状態サイズを監視できます。

  • アプリケーションの状態データはキー間で不均等に分散されます。アプリケーションで KeyBy オペレータを使用する場合は、受信データがキー間で均等に分割されていることを確認してください。ほとんどのデータが 1 つのキーに割り当てられていると、障害の原因となるボトルネックになります。

  • アプリケーションにメモリやガベージコレクションのバックプレッシャが発生しています。アプリケーションのheapMemoryUtilizationoldGenerationGCTimeoldGenerationGCCount の値が急上昇していないか、または着実に増加していないかを監視します。