MapReduce執行在yarn集群流程分析

2021-08-22 07:13:11 字數 894 閱讀 5404

yarn重要概念

yarn並不清楚使用者提交的程式的執行機制

yarn

只提供運算資源的排程(使用者程式向yarn申請資源,yarn就負責分配資源)

yarn中的主管角色叫resourcemanager

yarn中具體提供運算資源的角色叫nodemanager

這樣一來,yarn其實就與執行的使用者程式完全解耦,就意味著yarn上可以執行各種型別的分布式運算程式(mapreduce只是其中的一種),比如mapreduce、storm程式,spark程式,tez ……

所以,spark、storm等運算框架都可以整合在yarn上執行,只要他們各自的框架中有符合yarn規範的資源請求機制即可

yarn就成為乙個通用的資源排程平台,從此,企業中以前存在的各種運算集群都可以整合在乙個物理集群上,提高資源利用率,方便資料共享

yarn中執行運算程式的示例

文字敘述流程

3.提交job執行所需要的資源檔案到hdfs上

5.resourcemanager並不會立即執行,有乙個預設的機制佇列fifo,把當前提交的資源封裝成乙個task放到佇列中

6.nodemanager一直在處於在準備領取任務的狀態,假設圖中的第乙個nodemanager領取到任務

8.再次申請resourcemanager封裝成task,resourcemanager分配其他機器領取任務,其他機器領取後分別建立對應的container

11.當reducetask全部執行完畢後,告訴resourcemanager這個程式已經全部跑完,如果在執行的期間maptask和reducetask發生異常,會立即在分配一模一樣的task去執行,直到程式執行完畢

IT 執行在雲端,而雲執行在 Linux 上

it 正在逐漸遷移到雲端。那又是什麼驅動了雲呢?答案是 linux。當連微軟的 azure 都開始擁抱 linux 時,你就應該知道這一切都已經改變了。不管你接不接受,雲正在接管 it 已經成為現實。我們這幾年見證了雲在內部 it 的崛起。那又是什麼驅動了雲呢?答案是 linux 最近對 1000 ...

Service 執行在主線程

service android developer對於service如下定義,或許,我們對service的誤解就 於這句話,perform long running operations in the background 不就是可以在後台執行上時間操作的意思麼。的確是這個意思,但是,我們是否理解錯...

MapReduce執行流程

mapreduce的大體流程是這樣的,如圖所示 由可以看到mapreduce執行下來主要包含這樣幾個步驟 1.首先對輸入資料來源進行切片 2.master排程worker執行map任務 3.worker讀取輸入源片段 4.worker執行map任務,將任務輸出儲存在本地 5.master排程work...