分散リソース管理フレームワークの動作メカニズムYarn(実行プロセス)

糸の動作メカニズムのフローチャート

ここに画像の説明を挿入



糸加工機構詳細紹介

1.クライアントはジョブを送信し、jobIDを申請します(ResourceManagerのアプリケーションマスターに送信されます(クライアントの要求の処理に使用されます))。

2. ResourceManagerはジョブIDを返し、HDFSパスをクライアントに返します

3.クライアントは、返されたHDFSパスに、ジョブの実行に必要なリソース(Jarパッケージ、構成情報、シャーディング情報など)をアップロードします。

4.クライアントは今回、ジョブを実行するためにResourceManagerにリクエストを送信します

5.要求をスケジューラー(ResourceScheduler)に転送します

6.スケジューラーはタスクをスケジューリングキューに入れ、対応する要求が実行されると、フォールトトレランスを割り当て、NodeManagerによって開発されたコンテナーを呼び出し、ジョブに対応するApplicationMasterを作成するようにApplicationManagerに通知します。

7. ApplicationManagerは、NodeManagerでリソース(コンテナー)を開き、コンテナーでApplicationMasterを開始します。

8. ApplicationMasterは、HDFSで送信されたファイルを取得し、スライス情報に基づいてMapTaskとReduceTaskを作成します

9. ApplicationMasterは、MapTaskおよびReduceTaskの実行に必要なリソースのスケジューラー(ResourceManagerのResourceScheduler)に適用されます

10.スケジューラーは実行情報をApplicationMasterに返します。これにより、ApplicationMasterに必要なリソースがあるNodeManagerが通知されます。

11. ResourceManagerは、MapTaskを実行するタスクをアイドル状態の複数の
NodeManagerに割り当て、NodeManagerはタスクを受け取り、コンテナー(コンテナー)をそれぞれ作成します。

12. MapTaskプロセスとReduceTaskプロセス
は、タスク受信する2つのNodeManagerにプログラム起動スクリプトを送信しますタスク受信する各NodeManagerは、MapTaskを開始します。MapTaskはデータを処理し、パーティションで並べ替えます。

13. ApplicationMasterがすべてのMapTasksの実行を待機した後、
コンテナー(Container)のResourceManagerに適用し、ReduceTaskを実行します。

14.プログラムの実行後、ApplicationMasterはResourceManagerにリクエストを送信してリソースを解放します

15.進捗状況とステータスの更新

おすすめ

転載: blog.csdn.net/qq_42578036/article/details/110826261