1、yarn
1)描敘:yarn是乙個資源排程平台,負責為運算程式提供伺服器運算資源,相當於乙個分布式的作業系統平台,而mapreduce等運算程式則相當於執行於作業系統之上的應 用程式。
2)依賴其它架構:
4)重要知識點:
①工作機制詳解
(0)mr程式提交到客戶端所在的節點。
(2)rm將該應用程式的資源路徑返回給yarnrunner。
(3)該程式將執行所需資源提交到hdfs上。
(5)rm將使用者的請求初始化成乙個task。
(6)其中乙個nodemanager領取到task任務。
(8)container從hdfs上拷貝資源到本地。
(10)rm將執行maptask任務分配給另外兩個nodemanager,另兩個nodemanager分別領取任務並建立容器。
(11)mr向兩個接收到任務的nodemanager傳送程式啟動指令碼,這兩個nodemanager分別啟動maptask,maptask對資料分割槽排序。
(13)reduce task向maptask獲取相應分割槽的資料。
(14)程式執行完畢後,mr會向rm申請登出自己。
②作業提交全過程詳解
(1)作業提交
第0步:client呼叫job.waitforcompletion方法,向整個集群提交mapreduce作業。
第1步:client向rm申請乙個作業id。
第2步:rm給client返回該job資源的提交路徑和作業id。
第3步:client提交jar包、切片資訊和配置檔案到指定的資源提交路徑。
(2)作業初始化
第5步:當rm收到client的請求後,將該job新增到容量排程器中。
第6步:某乙個空閒的nm領取到該job。
(3)任務分配
第10步:rm將執行maptask任務分配給另外兩個nodemanager,另兩個nodemanager分別領取任務並建立容器。
(4)任務執行
第11步:mr向兩個接收到任務的nodemanager傳送程式啟動指令碼,這兩個nodemanager分別啟動maptask,maptask對資料分割槽排序。
第13步:reduce task向maptask獲取相應分割槽的資料。
第14步:程式執行完畢後,mr會向rm申請登出自己。
(5)進度和狀態更新
yarn中的任務將其進度和狀態(包括counter)返回給應用管理器, 客戶端每秒(通過mapreduce.client.progressmonitor.pollinterval設定)向應用管理 器請求進度更新, 展示給使用者。
(6)作業完成
除了向應用管理器請求作業進度外, 客戶端每5分鐘都會通過呼叫waitforcompletion()來檢查作業是否完成。時間間隔可以通過 mapreduce.client.completion.pollinterval來設定。作業完成之後, 應用管理器和container會清理工作狀態。作業的資訊會被作業歷史伺服器儲存以備之後使用者 核查。
③ 任務的推測執行
執行推測任務的前提條件
(1)每個task只能有乙個備份任務;
(2)當前job已完成的task必須不小於0.05(5%)
(3)開啟推測執行引數設定。hadoop2.7.2 mapred-site.xml檔案中預設是開啟的
Hadoop生態之Yarn知識點總結
乙個集群active狀態的rm只有乙個,負責整個集群的資源管理和排程 1 定期向rm匯報本節點的資源使用請求和各個container的執行狀態 2 接收並處理rm的container啟停的各種命令 3 單個節點的資源管理和任務管理 整個集群中有n個,負責單個節點的資源管理和使用以及task的運 況 ...
大資料 YARN知識點簡介
系列文章 大資料 hadoop知識點簡介 大資料 yarn知識點簡介 大資料 spark知識點簡介 mapreduce 1.x存在的問題 主節點jobtracker帶多個幹活的從節點tasktracker,典型的一對多架構。客戶端先提交mapreduce作業到jobtracker,然後jobtrac...
知識點總結
1,迴圈中的中斷 continue 跳出此次迴圈,繼續for迴圈 break 跳出當前for迴圈 return 跳出當前方法 2,字串的操作 componentseparatedbystring stringbyreplacingoccurencesofstring withstring iskin...