Hadoop之yarn的工作流程

2021-08-27 21:48:23 字數 1400 閱讀 3860

yarn通用資源管理框架主要由以下幾個部分組成

resourcemanager(rm):

nodemanager(nm):用來啟動和監控本地計算機資源單位container的利用情況,是每個節點上的資源和任務管理器,定時地向rm匯報本節點上的資源使用情況和各個container

的執行狀態,並且接受並處理來自am的container啟動/停止等請求。

container:container是yarn資源的抽象,它封裝了某個節點上的多維度資源(記憶體,cpu,磁碟,網路等),當am向rm申請資源時,rm為am返回的資源便是用container表示的。yarn會為每個任務分配乙個container,且該任務只能使用該container描述的資源,它是乙個動態資源劃分單位,是根據應用程式的需求動態生成的。(目前yarn只支援cpu和記憶體2種資源)

獲取新的jobid原始碼(org.apache.hadoop.mapred.yarnrunner):

在yarn中,例如,用yarn.scheduler.capacity.minimum- allocation-mb設定最小申請資源1g,用yarn.scheduler.capacity.maximum-allocation-mb設定 最大可申請資源10g 這樣乙個task申請的資源記憶體可以靈活的在1g~10g範圍內

6:客戶端每5秒輪詢檢查job是否完成,期間需要呼叫函式job類下waitforcompletion()方法,job結束後該方法返回。輪詢時間間隔可以用配置檔案的屬性mapreduce.client.completion.pollinterval來設定

yarn能夠排程cpu和記憶體,有些任務使用cpu比較多,有些任務就比較佔記憶體,所以要根據任務的特點合理的利用計算機資源。

yarn工作流程

對多工執行環境的抽象,包括cpu 記憶體等多維度資源以及環境變數 啟動命令等任務執行的相關環境 執行流程 1 客戶端向rm中提交程式 2 rm向nm中分配乙個container,並在該container中啟動am 3 am向rm註冊,這樣使用者可以直接通過rm檢視應用程式的執行狀態 然後它將為各個任...

YARN工作流程

執行在yarn上的應用程式主要分為兩類 短應用程式和長應用程式,其中,短應用程式是指一定時間內 可能是秒級 分鐘級或小時級,儘管天級別或者更長時間的也存在,但非常少 可執行完成並正常退出的應用程式,比如mapreduce作業 將在第8章介紹 tez dag作業等,長應用程式是指不出意外,永不終止執行...

Hadoop系列 Yarn原理解析 工作流程

yarn 概述 yarn是乙個資源排程平台 負責為運算程序提供伺服器運算資源 yarn上可以執行mapreduce storm tez spark flink等分布式運算程序 yarn的執行流程 yarn的幾個概念 yarn不知道使用者提交的程序如何執行的 yarn只提供運算資源的排程 運算程序向y...