アプリケーションの問題 - Managed Service for Apache Flink

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

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

アプリケーションの問題

このセクションには、Apache Flink アプリケーション用 Managed Serviceで発生する可能性のあるエラー状態に対する解決策が含まれています。

アプリケーションが一時的な状態でスタックしている

アプリケーションが一時的なステータス (STARTINGUPDATING、、または AUTOSCALING) のままである場合はSTOPPINGForceパラメータを に設定して StopApplicationアクションを使用してアプリケーションを停止できますtrue。この DELETING ステータスのアプリケーションを強制停止することはできません。または、アプリケーションが UPDATING または AUTOSCALING ステータスの場合は、実行中の以前のバージョンにロールバックできます。アプリケーションをロールバックすると、前回成功したスナップショットの状態データがロードされます。アプリケーションにスナップショットがない場合、Apache Flink 用 Managed Serviceはロールバックリクエストを拒否します。アプリケーションのロールバックの詳細については、「 RollbackApplicationアクション」を参照してください。

注記

アプリケーションを強制停止すると、データが失われたり重複したりする可能性があります。アプリケーションの再起動時にデータが失われたり、データが重複して処理されたりするのを防ぐため、アプリケーションのスナップショットを頻繁に撮ることをお勧めします。

アプリケーションが停止する原因には次のようなものがあります。

  • アプリケーションの状態が大きすぎる:」アプリケーションの状態が大きすぎたり永続的すぎたりすると、チェックポイントまたはスナップショット操作中にアプリケーションが停止する可能性があります。アプリケーションの lastCheckpointDurationlastCheckpointSize メトリックをチェックして、値が着実に増加しているか、または異常に高い値がないかを確認してください。

  • アプリケーションコードが大きすぎる: アプリケーションJARファイルが 512 MB 未満であることを確認します。JAR 512 MB を超えるファイルはサポートされていません。

  • アプリケーションスナップショットの作成に失敗する:」Managed Service for Apache Flinkが UpdateApplication または StopApplication リクエスト中にアプリケーションのスナップショットを取得します。その後、サービスはこのスナップショット状態を使用し、更新されたアプリケーション設定を使用してアプリケーションを復元し、「1 回のみ」の処理セマンティクスを実現します。自動スナップショット作成が失敗した場合は、 スナップショットの作成が失敗する 以下を参照してください。

  • スナップショットからの復元が失敗する:」アプリケーションの更新でオペレータを削除または変更した後に、スナップショットから復元しようとした場合、スナップショットに欠落しているオペレータの状態データが含まれていると、復元はデフォルトで失敗します。さらに、アプリケーションは STOPPED または UPDATING ステータスのままになります。この動作を変更して復元を成功させるには、アプリケーションの の AllowNonRestoredStateパラメータを FlinkRunConfiguration に変更しますtrue。これにより、新しいプログラムにマッピングできない状態データを再開操作がスキップできます。

  • アプリケーションの初期化に時間がかかる:」Apache Flink 用 Managed Service fは、Flink ジョブの開始を待つ間、5 分間の内部タイムアウト (ソフト設定) を使用します。ジョブがこのタイムアウト内に開始されない場合は、次のように CloudWatch ログが表示されます。

    Flink job did not start within a total timeout of 5 minutes for application: %s under account: %s

    上記のエラーが発生した場合、Flink ジョブの main メソッドで定義されている操作に 5 分以上かかっているため、Apache Flink のマネージドサービス側で Flink ジョブの作成がタイムアウトになります。Flink JobManagerログとアプリケーションコードをチェックして、 mainメソッドでこの遅延が予想されるかどうかを確認することをお勧めします。そうでない場合は、5 分以内に完了するように問題に対処する必要があります。

ListApplications」または「DescribeApplication」のアクションを使用して申請状況を確認できます。

スナップショットの作成が失敗する

Apache Flink 用 Managed Serviceは、以下の状況ではスナップショットを作成できません。

  • アプリケーションがスナップショットの制限を超えました。スナップショットの上限は 1,000 件です。詳細については、「スナップショットを使用してアプリケーションのバックアップを管理する」を参照してください。

  • アプリケーションには、ソースまたはシンクにアクセスするアクセス許可がありません。

  • アプリケーションコードが正しく機能していない。

  • アプリケーションには他の構成上の問題も発生しています。

アプリケーションの更新中にスナップショットを作成しているとき、またはアプリケーションを停止しているときに例外が発生した場合は、アプリケーションの「ApplicationSnapshotConfiguration」の SnapshotsEnabled プロパティを false に設定して、リクエストを再試行してください。

アプリケーションのオペレータが適切にプロビジョニングされていないと、スナップショットが失敗する可能性があります。オペレータのパフォーマンスのチューニングについては、 オペレータースケーリング を参照してください。

アプリケーションが正常な状態に戻ったら、アプリケーションの SnapshotsEnabled プロパティを true に設定することをお勧めします。

のリソースにアクセスできない VPC

アプリケーションが Amazon でVPC実行されている を使用している場合はVPC、次の手順に従って、アプリケーションがリソースにアクセスできることを確認します。

  • CloudWatch ログで次のエラーを確認します。このエラーは、アプリケーションが のリソースにアクセスできないことを示しますVPC。

    org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.

    このエラーが表示された場合は、ルートテーブルが正しく設定されていることと、コネクタの接続設定が正しいことを確認してください。

    CloudWatch ログの設定と分析については、「」を参照してくださいAmazon Managed Service for Apache Flink でのログ記録とモニタリング

Amazon S3 バケットへの書き込み時にデータが失われる

Apache Flink バージョン 1.6.2 を使用して Amazon S3 バケットに出力を書き込むと、一部のデータが失われる可能性があります。Amazon S3 を直接出力に使用する場合は、サポートされている最新バージョンの Apache Flink を使用することをお勧めします。Apache Flink 1.6.2 を使用して Amazon S3 バケットに書き込むには、Firehose を使用することをお勧めします。Apache Flink 用 Managed Service で Firehose を使用する方法の詳細については、「」を参照してくださいFirehose シンク

アプリケーションは RUNNINGステータスですが、データを処理していません

アプリケーションのステータスは、「ListApplications」または「DescribeApplication」のアクションを使用して確認できます。アプリケーションが RUNNINGステータスになってもシンクにデータを書き込んでいない場合は、Amazon CloudWatch ログストリームをアプリケーションに追加することで問題をトラブルシューティングできます。詳細については、「アプリケーションの CloudWatch ログ記録オプションを使用する」を参照してください。ログストリームには、アプリケーションの問題のトラブルシューティングに使用できるメッセージが含まれています。

スナップショット、アプリケーション更新、またはアプリケーション停止エラー: InvalidApplicationConfigurationException

スナップショット操作中、またはアプリケーションの更新や停止など、スナップショットを作成する操作中に、次のようなエラーが発生することがあります。

An error occurred (InvalidApplicationConfigurationException) when calling the UpdateApplication operation: Failed to take snapshot for the application xxxx at this moment. The application is currently experiencing downtime. Please check the application's CloudWatch metrics or CloudWatch logs for any possible errors and retry the request. You can also retry the request after disabling the snapshots in the Managed Service for Apache Flink console or by updating the ApplicationSnapshotConfiguration through the AWS SDK

このエラーは、アプリケーションがスナップショットを作成できない場合に発生します。

スナップショット操作またはスナップショットを作成する操作中にこのエラーが発生した場合は、次の操作を実行してください。

  • アプリケーションのスナップショットを無効にします。これは、Managed Service for Apache Flink コンソールで、または UpdateApplicationアクションの SnapshotsEnabledUpdateパラメータを使用して実行できます。

  • スナップショットを作成できない理由を調べてください。詳細については、「アプリケーションが一時的な状態でスタックしている」を参照してください。

  • アプリケーションが正常な状態に戻ったら、スナップショットを再度有効にします。

java.nio.file.NoSuchFileException: /usr/local/openjdk-8/lib/security/cacerts

SSL 信頼ストアの場所が以前のデプロイで更新されました。代わりに、以下の値を ssl.truststore.location パラメータに使用します

/usr/lib/jvm/java-11-amazon-corretto/lib/security/cacerts