日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

资源调度框架YARN

發布時間:2024/9/16 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 资源调度框架YARN 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

YARN產生背景

MapReduce1.x存在的問題

在1.x版本中,架構也是master/slave的,對應的角色是分別是JobTracker和TaskTracker,一個作業可以拆分成MapTask和ReduceTask,一個JobTracker跟蹤多個TaskTracker。

JobTracker負責資源的管理和狀態的管理,TaskTracker定期向JobTracker匯報本節點的健康狀態、本節點的資源使用情況,以及本節點task的任務執行情況。TaskTracker接收來自JobTracker的命令,例如啟動一個作業,殺死一個作業。

這種架構存在的問題

  • JobTracker是單節點的,整個集群只有一個JobTracker,如果這個節點掛掉之后,所有的客戶端的作業就無法提交到集群運行。
  • JobTracker負責client和TaskTracker之間的通信,所以JobTracker的壓力會很大。
  • 僅僅只能夠支持MapReduce作業,無法執行其他的作業,例如Flink、spark等。
  • 資源利用率&運維成本

    所有的計算框架運行在一個集群中,共享一個集群的資源,做到按需分配。

    YARN概述

    • Yet Another Resource Negotiator
    • 通用的資源管理系統
    • 為上層應用(MapReduce、spark等計算框架)提供統一的資源管理和調度

    YARN將JobTracker分為兩個主要的部分,分別是資源管理和作業調度(作業監控),變成兩個獨立的進程。因此就有了一個ResourceManager(RM)和每一個應用程序對應有一個ApplicationMaster(AM),例如提交了一個MapReduce作業,就會有一個MapReduce的ApplicationMaster(AM),如果提交了一個Spark作業,就會有一個Spark的ApplicationMaster(AM)。一個作業要么是一個單獨的作業(例如MapReduce),要么是一個DAG(相互有依賴的作業,A作業運完成后,運行B作業)作業。
    ResourceManager與NodeManager共同組成了計算框架。ResourceManager是一個的決定者,負責資源的管理。

    YARN架構

    • Client:向RM提交任務、殺死任務等
    • ResourceManager(RM):集群中同一時刻對外提供服務的只有一個,負責資源相關。處理來自客戶端的請求:包括提交、殺死。啟動(監控)ApplicationMaster,監控NM
    • NodeManager(NM):(可以有多個)。計算節點,向RM發送心跳信息、任務的執行情況、接收來自RM的請求來啟動任務。處理來自ApplicationMaster的命令
    • ApplicationMaster(AM):每個應用程序對一個AM,AM向RM申請資源,用于在NM上啟動對應的Task。可以進行數據切分,為每個task向RM申請資源(Container)。任務的監控。
    • master/slave:RM/NM
    • container:任務的運行抽象。memory、CPU…。task運行在container里面的,可以運行AM、也可以運行map/reduce task

    一個作業task提交給RM,現在NM上申請一個AM,然后AM向RM申請資源,申請到資源后,到對應的NM上自動Container,然后在Container上啟動Map Task和Reduce Task。AM監控Container

    YARN執行流程

    • 第1步:客戶端先提交應用程序到Resource Manager
    • 第2步:Resource Manager為作業分配第一個NodeManager
    • 第3步:Resource Manager要求在NodeManager中啟動了一個Container來運行作業的Application Master
    • 第4步:Application Master啟動之后,首先要注冊到Resource Manager上,因為Resource Manager要負責全局的資源管理,而Application Master是對應于每一個應用程序的,所以需要首先注冊到Resource Manager,這樣就可以直接通過Client查詢到作業的執行情況(Application Master注冊在Resource Manager,而Client可以跟Resource Manager進行通信)
    • 第5步:到具體的NodeManager中啟動Container跑Task

    Application Master是直到具體的Task的執行情況的。
    這個執行流程不僅僅是針對MapReduce,對于Spark也是一樣的。Spark僅僅是對于Application Master不同而已

    總結

    以上是生活随笔為你收集整理的资源调度框架YARN的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。