rm返回給其資源提交的路徑以及job的id號,staging+jobid構成乙個job的唯一資源提交路徑,將job.split job.xml jar包提交到此路徑上面去,
job資源提交完畢,rm將其分裝為乙個task,
rm可能會處理多個task,所以需要資源排程,其主要有三種方式
fair 公平每個資源分配資源想等
fifo佇列先進先出,rm可以接收,但其後執行的task需等待
capacity 第一關task資源全部都給它,隨著task的執行,慢慢的**
nodemanager 和resourcemanager保持著心跳,隨機拿到resourcemanager封裝的task去執行
nm接收到task任務後根據task描述建立container容器來執行mr程式,container包含虛擬cpu 記憶體等
然後把task所需要的資源檔案即前面放到資源路徑中的檔案 cp 到container中
為了協調map和reduce
yarn:只負責程式執行所需資源**排程等排程任務,與應用程式的執行機制完全無關,成為乙個通用資源排程平台,mr/spark/storm/flink
而hadoop1.0中
jobtracker tasktracker
客戶端 向jobtracker 請求 jobtrasker將map reduce任務資源排程耦合在一起,而1.0中提交的任務都歸jobtracker,1資源排程 2應用的運算流程管理監控,壓力大,
MapReduce執行在yarn集群流程分析
yarn重要概念 yarn並不清楚使用者提交的程式的執行機制 yarn 只提供運算資源的排程 使用者程式向yarn申請資源,yarn就負責分配資源 yarn中的主管角色叫resourcemanager yarn中具體提供運算資源的角色叫nodemanager 這樣一來,yarn其實就與執行的使用者程...
Mr 結合yarn的執行流程 執行邏輯
1 為什麼要使用yarn?為了提公升集群的利用率 資源統一管理,使用yarn為上層應用提供統一的資源管理和排程的平台。2 yarn的優勢?資源的統一管理和排程 集群中所有節點的資源 記憶體 cpu 磁碟 網路等 抽象為container。計算框架需要資源進行運算任務時需要向yarn申請contain...
MR執行流程
在這裡插入描述 資料進入maptask使用inputformat讀取資料 預設讀取格式是textinputformat 使用getsplits對資料目錄進行邏輯切分得到splits,有多少個splits 切片 就有多少個maptask 使用recordreader物件讀取 使用設定好的分隔符 切片裡...