91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Yarn的基礎介紹以及job的提交流程

發布時間:2020-04-09 00:06:12 來源:網絡 閱讀:2606 作者:原生zzy 欄目:大數據

1.YARN的基礎理論

1)關于YARN的介紹:

?? YARN 是一個資源調度平臺,負責為運算程序提供服務器運算資源,相當于一個分布式的操作系統平臺,而 MapReduce 等運算程序則相當于運行于操作系統之上的應用程序。

2)hadoop1.x中YARN的不足:

?? - JobTracker是集群的事務的集中處理,存在單點故障
?? - JobTracker需要完成得任務太多,既要維護job的狀態又要維護job的task的狀態,造成資源消耗過多
?? - 在 TaskTracker 端,用Map/Reduce Task作為資源的表示過于簡單,沒有考慮到CPU。內存,等資源情況,將兩個需要大消耗量的Task調度到一起,很容易出現OOM。
?? - 把資源強制劃分為 Map/Reduce Slot,當只有 MapTask 時,TeduceSlot 不能用;當只有 ReduceTask 時,MapSlot 不能用,容易造成資源利用不足。

3)hadoop2.x中YARN的新特性:

??MRv2 最基本的想法是將原 JobTracker 主要的資源管理和 Job 調度/監視功能分開作為兩個單獨的守護進程。有一個全局的ResourceManager(RM)和每個 Application 有一個ApplicationMaster(AM),Application 相當于 MapReduce Job 或者 DAG jobs。ResourceManager和 NodeManager(NM)組成了基本的數據計算框架。ResourceManager 協調集群的資源利用,任何 Client 或者運行著的 applicatitonMaster 想要運行 Job 或者 Task 都得向 RM 申請一定的資源。ApplicatonMaster 是一個框架特殊的庫,對于 MapReduce 框架而言有它自己的 AM 實現,
用戶也可以實現自己的 AM,在運行的時候,AM 會與 NM 一起來啟動和監視 Tasks。

4)YARN中的角色介紹:

ResourceManager:ResoueceMananer是基于應用程序對集群資源的需求進行調度的yarn集群的主控制節點,負責協調和管理整個集群,相應用戶提交的不同的類型的應用程序,解析、調度、監控等工作。ResourceManager會為每一個application啟動一個MRappmaster,并且MRappmaster分散在各個nodemanager上。
ResourceManager只要有兩個部分組成:
??- 應用程序管理器(ApplicationsManager, ASM): 管理和監控所有的應用程序的MRappmaster,啟動應用程序的MRappmaster,以及MRappmaster失敗重啟
??- 調度器(Scheduler):底層是一個隊列,負責應用程序的執行時間和順序
???? - FIFO(先進先出的隊列):先提交的任務先執行 后提交的后執行 內部只維護一個隊列
???? - Fair 公平調度器:所有的計算任務進行資源的平分,全局中如果只有一個job那么當前的job占用所有的資源
???? - Capacity(計算能力調度器):可以根據實際的job任務的大小,進行資源的配置


NodeManager:Nodemanager是yarn集群中正真資源的提供者,也是真正執行應用程序的容器的提供者,監控應用程序的資源情況(cpu、網絡、IO、內存)。并通過心跳向集群的主節點ResourceManager 進行匯報以及更新自己的健康狀況。同時也會監督container的生命周期管理,監控每個container的資源情況


MRAppMaster:為當前的job的mapTask和reduceTask向ResourceManager 申請資源、監控當前job的mapTask和reduceTask的運行狀況和進度、為失敗的MapTask和reduceTask重啟、負責對mapTask和reduceTask的資源回收。


Container :Container 是一個容器,一個抽象的邏輯資源單位。容器是由ResourceManager Scheduler 服務動態分配的資源構成的,它包括該節點上的一定量的cpu、網絡、IO、內存,MapReduce 程序的所有 Task 都是在一個容器里執行完成的。

5)YARN中的資源調度:

hadoop 1.x
Yarn的基礎介紹以及job的提交流程

  • 首先通過client發起計算作業,由jobTracker向每一個Task Tracker發起計算(每一個job Tracker就是一個map-reduce)
  • 具體工作的是Task Tracker,而jobTracker是做資源管理的,首先Task Tracker會向job tracker做心跳,并同時的拉取相應的任務,開始計算。
  • 首先job Tracker控制Task Tracker并行map計算,當map結束之后,job Tracker控制Task Tracker并行reduce計算。
    hadoop 2.x
    Yarn的基礎介紹以及job的提交流程
  • 客戶端提交計算任務到resourceManager(hadoopxx.jar)
  • resourceManager會在一個節點上啟動一個container,在其中運行一個MRappmaster
  • MRappmaster向resourceManager申請資源運行行maptask和reducetask
  • resourceManager向MRAPPmaster返回運行maptask和reducetask的節點
  • MRAPPmaster到相應的節點中啟動一個container在其中運行maptask和reudcetask
  • MRappmaster監控maptask或者reducetask的運行狀況
  • nodemanger在運行完maptask或者reducetask后,向MRappmaster申請注銷自己,釋放資源
  • MRappmaster向resourcemanager注銷自己,釋放資源。

    2.YARN的job 提交流程

    Yarn的基礎介紹以及job的提交流程

    1. 客戶端向resourcemanager提交job運行的請求(hadoop jar xxxx.jar)
    2. Resourcemanager進行檢查,沒有問題的時候,向客戶端返回一個共享資源路徑以及JobID
    3. 客戶端將共享資源放入共享路徑下:(/tmp/hadoop-yarn/staging/hadoop/.staging/job_1539740094604_0002/)
      1. Job.jar 需要運行的jar包,重命名為job.jar
      2. Job.split 切片信息 (FlieInputFormat---getSplits List<Split>)
      3. Job.xml 配置文件信息 (一些列的job.setxxxx())
    4. 客戶端向resourcemanager反饋共享資源放置完畢,進行job的真正提交
    5. resourceManager為這個job分配一個節點并在這個節點上啟動MRAPPmaster任務
    6. resourceManager到對應的節點上去啟動一個container然后啟動mrappmaster
    7. MRappmaster去共享資源路徑中下載資源(主要是split、job)
    8. MRappmater對job進行初始化,生成一個job工作簿,job的工作薄記錄著maptask和reduce的運行進度和狀態
    9. MRappmaster向resourcemanager申請maptask和reducetask的運行的資源,先發maptask然后發reducetask
    10. resourcemanager向MRAPPmaster返回maptask和reduce的資源節點(返回節點時,有就近原則,優先返回當前的maptask所處理切片的實際節點,數據處處理的時候可以做到數據的本地化處理。如果是多副本的時候就在多副本的任意節點。而reducetask任務在任意不忙的節點上啟動)
    11. MRAPPmaster到對應的節點上啟動一個container,然后在container中啟動maptask任務
    12. maptask任務到對應的共享資源路徑下下載相應的資源(運行的jar包)
    13. maptask任務啟動,并且定時向MRAPPmaster匯報自己的運行狀態和進度
    14. 當有一個maptask任務完成之后,reduce就啟動container然后在啟動啟動reduce任務,但是這里的reducetask只做數據拉取的工作,不會進行計算
    15. duceTask任務到對應的共享資源路徑下載相應的資源(運行的jar包),當所有的maptask任務運行完成后,啟動reduce任務進行計算
    16. 當maptask或者是reducetask任務運行完成之后,就會向MRAPPmaster申請注銷自己,釋放資源
    17. 當application任務完成之后,MRAPPmaster會向resourcemanager申請注銷自己,釋放資源
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

慈利县| 响水县| 蒲城县| 蓝田县| 武乡县| 惠东县| 涪陵区| 盐山县| 富顺县| 黑山县| 阿图什市| 永平县| 海宁市| 肃宁县| 庆云县| 行唐县| 临湘市| 渭源县| 抚顺市| 正镶白旗| 河南省| 盐边县| 广南县| 鹿泉市| 嘉义县| 乌审旗| 崇礼县| 顺义区| 奉贤区| 锡林浩特市| 太康县| 永定县| 抚顺市| 从江县| 永兴县| 虞城县| 宁海县| 磴口县| 洛浦县| 池州市| 都兰县|