糸の動作メカニズムのフローチャート
糸加工機構詳細紹介
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.進捗状況とステータスの更新