FLINKのチェックポイントのメカニズム

アウトライン




チェックポイント機構(例えば異常終了など)何らかの理由FLINKクラスタに障害が発生した保証することができ、状態は、アプリケーションを確保するためにオペレータの故障前の状態のアプリケーション全体の流れ図に戻すことができるFLINK信頼性の基礎であります図一貫したフロー状態。

実装プロセスのチェックポイントメカニズム



FLINKチェックポイントは、プログラムの起動時に、それはJobmaster CheckpointCoordinator、定期的にデータのバックアップによって各状態のために下流障壁に送信され、計算され、オペレータが、作成され、チェックポイントメカニズムを進め、Jobmasterによって開始されます状態データは、このチェックポイントが完了すると、最終的にバックアップオペレータの成功を計算します。障害が発生した場合、プログラムは単純に成功した最新のチェックポイントオペレーター計算状態が復元されるのバックアップデータを読み込みます。

コンポーネントと概念に関連します



JobMaster:JobMaster FLINKは、マスターノードでは、の実装を、受信配布し、調整する作業を担当し、リカバリのチェックポイントデータの実装を担当しています。
バリア:バリアは一定のルール(スケジューリング)に従って軽量データは、元のデータストリームに挿入され、元のデータは、元のデータの順序を変更することなく、データ処理のパフォーマンスに影響を与えないであろう。CheckpointCoordinator:プログラムが順番にJobMasteを開始したときのチェックポイントコーディネーター、スレッドは、各アプリケーションが起動時にチェックポイントを必要とし、FLINKのJobManagerは、このアプリケーションのスナップショットを作成するための責任を負うものCheckpointCoordinator、CheckpointCoordinatorを作成します。
オペレータソース:データソース演算子をロードします。
中級演算子:すべての中間データ変換処理演算子。
シンク演算子:ついに上陸データ演算子。
スナップショット:タイムバックアップサブ状態データの1点を数えるが計算されます。

特定の分析チェックポイントプロセス
単一の入力ソースチェックポイントの実装工程



すべてのソースストリームアプリケーション1. CheckpointCoordinatorオペレータに定期的障壁を送信します。
164027i31yoxwh4wxyywv4.png.thumb.jpg
2.ソース・オペレータが障壁を受信するとき、データ処理を中断して、現在の状態のスナップショットに作られた、と指定された永続ストレージに保存され、事態の最終報告書は同時に、自分のスナップショットCheckpointCoordinatorを作るために放送事業者の独自の下流バリア、データ復旧プロセスのすべてに。
164138rmuh7auhj97r9sc9.png.thumb.jpg
下流オペレータ障壁を受信すると3.は、自身がスナップショットに作られた、と指定された永続ストレージに保存され、最終報告書スナップショットCheckpointCoordinatorに彼らの状況、自分自身へのすべてつつ、独自のデータ処理と関連する状態を一時停止します下流の放送事業者バリア、データ回復プロセス。
164202v3xpps7bbg6qobi3.png.thumb.jpg
4.連続放送下流スナップショットにステップ3の各演算子は、スナップショットが終了し、最後の障壁オペレータまでシンクに伝達されます。
164257ndyohy7vcw7ey7bv.png.thumb.jpg
オペレータが所定時間内にすべてのレポートを受信していない場合はそれ以外の場合は、これは生産サイクルのスナップショットとみなされるに失敗しました。CheckpointCoordinatorが成功の生産サイクルのスナップショットは、オペレータのすべてのレポートの受領後5。

二つの入力ソースのチェックポイント実装プロセス



オペレータは、2つの入力ソースを有する場合、バリアの一時的な閉塞は、到着の同じ数の障壁第二の入力ソースまで、入力ソースを受信し、その後、独自のスナップショットと下流放送障壁を作ります。次のように具体的な手順は次のとおりです。

C 1は、オペレータは、到着前に2つの入力ソースA及びB、i番目のスナップショット期間、何らかの理由のためにバリア(等例えば、処理遅延、ネットワーク待ち時間、)A指定された入力ソースを有していると仮定すると、時間カウントサブC入力チャネルが一時的にのみ入力データを受信する入力ソースA、ソースBを遮断します。
164444wlbr2jvrbbmrbwm0.png.thumb.jpg 
入力ソース出射されたバリアBが到着すると2、オペレータC自身の生産は、独自のスナップショットとスナップショット生産CheckpointCoordinatorケースを報告し、2つは、すべての下流の演算子にブロードキャスト障壁にマージ。
164505ih717t51teh7r24t.png.thumb.jpg 
障害が周期チェックポイント状態にすべてのオペレータにCheckpointCoordinator図の通知を、何らかの理由で均一なリターンを発生し、データストリームの処理を回復3.。分散チェックポイントのメカニズムは、データを(必ず1回)一度だけ処理されることを保証します。
164525sjz3fvplf2nzvffj.png.thumb.jpg 

概要



チェックポイントのメカニズムはFLINKプログラムは、唯一のチェックポイントが必要なとき、彼はフォールトトレラントFLINKの軽量な実装、操作ミスで、重要な特性FLINKで
、動作状態データに保存されたデータを復元したデータを回復するために再手術を必要としません。マスターチェックポイントメカニズムの重要な学習FLINKのある
部分。

公共の記事の総数は、広州ダークホースプログラマセンター(itheimagz)より多くのリソースをご覧ください

image.png




おすすめ

転載: blog.51cto.com/14500648/2430118