Flink ジョブに動的パラメータ更新を使用することで、新しい構成をより迅速に適用できます。この機能により、ジョブの再起動によるサービス中断が軽減され、TaskManager の動的スケーリングが簡素化され、チェックポイントのトラブルシューティングに役立ちます。
背景情報
従来、Flink パラメータを更新するには、ジョブの再起動が必要でした。このプロセスでは、サービス中断、データバックフィルの遅延、リソース使用量の急増が発生する可能性があり、ダウンタイムが長引き、ビジネスの継続性に影響を与えます。
動的パラメータ更新機能は、実行中のジョブに REST リクエストを送信します。これにより、ジョブは既存の JobManager と TaskManager のコンテナを再利用し、インプレース再起動を通じて、または場合によっては再起動なしで更新を適用できるため、再起動のコストが削減されます。リソースの事前割り当てやステートの遅延読み込みなどの機能と組み合わせることで、この機能は更新後のジョブ起動を大幅に高速化し、ダウンタイムを数分から数秒に短縮します。典型的なソース → Map → シンクジョブの場合、動的パラメータ更新を使用した動的スケーリングにより、サービス中断時間が劇的に短縮されます。次の図は、ダウンタイムを比較したものです。

並列度を更新することで、TaskManager を動的にスケーリングできます。TaskManager の数の計算方法の詳細については、「ジョブリソースの構成」をご参照ください。
制限事項
-
動的更新をサポートしているパラメータは、[並列度]、[チェックポイント間隔]、[チェックポイントタイムアウト]、[チェックポイント間の最小間隔] のみです。動的更新をサポートしていないパラメータも変更した場合、それらの変更はジョブの再起動後にのみ有効になります。
-
この機能は、Ververica Runtime (VVR) 8.0.1 以降で実行されるジョブでのみ利用できます。
-
エキスパートモード (詳細設定) では、並列度の動的更新はサポートされていません。
注意事項
-
動的パラメータ更新は実験的な機能であり、更新プロセス中にサービス中断が発生する可能性があります。従来のパラメータ変更と比較して、動的更新はダウンタイムを大幅に短縮できます。ただし、中断の正確な時間はジョブトポロジーや状態サイズなどの要因によって異なり、通常は 5 秒から 1 分です。
-
動的パラメータ更新は、実行中のジョブにのみ適用できます。
-
並列度を動的に更新する場合、Realtime Compute for Apache Flink は並列度が明示的に設定されているノードをスキップします。これは、特定のオペレーターには特定の並列度要件があるためです。たとえば、グローバルオペレーターの並列度は 1 である必要があり、Kafka ソースの並列度はパーティション数を超えないように明示的に設定されることがよくあります。オペレーターの並列度を動的に更新できるようにするには、
DataStream#setParallelismなどのメソッドやソース / シンクの構成パラメータを使用して明示的に設定しないでください。 -
[ホットアップデート] ボタンは、サポートされているパラメータ ([並列度]、[チェックポイント間隔]、[チェックポイントタイムアウト]、または [チェックポイント間の最小間隔]) のいずれかを変更した後にのみ表示されます。ボタンをクリックすると、変更が有効になります。動的更新をサポートしていないパラメータも変更した場合、それらの変更はジョブの再起動後にのみ有効になります。
操作手順
-
[O&M] > [Deployments] ページに移動します。
-
対象のワークスペースの [操作] 列で、[コンソール] をクリックします。
-
左側メニューで、 を選択します。対象の [実行中] のジョブの名前をクリックします。
-
[Configuration] タブの [Resources] または [Parameters] セクションで、[編集] をクリックします。
-
動的更新をサポートするパラメータの値を変更し、[保存] をクリックします。
-
ページの右上隅にある [ホットアップデート] をクリックします。
重要動的更新をサポートしているパラメータは、[並列度]、[チェックポイント間隔]、[チェックポイントタイムアウト]、[チェックポイント間の最小間隔] のみです。動的更新をサポートしていないパラメータも変更した場合、それらの変更はジョブの再起動後にのみ有効になります。
-
表示されるダイアログボックスで情報を確認し、[OK] をクリックします。
[OK] をクリックすると、更新が進行中であることを示すアイコンが表示されます。
関連ドキュメント
-
動的更新をサポートしていないパラメータを更新するには、[Configuration] タブで構成してから、ジョブを再起動します。詳細については、「ジョブデプロイの構成」および「ジョブの起動」をご参照ください。
-
自動パフォーマンスチューニング機能は、ジョブの並列度とリソース構成の最適化に役立ちます。詳細については、「自動チューニングの構成」をご参照ください。
-
インテリジェントジョブ診断サービスは、ジョブの健全性を監視し、エラーや異常を分析し、実用的な診断提案を提供します。詳細については、「インテリジェントジョブ診断」をご参照ください。