hadoop工作流程

2022-08-27 22:51:21 字數 1472 閱讀 8828

一)任務流程

1)mapreduce程式啟動乙個jobclient例項,開啟整個mapreduce作業

2)jobclient通過getnewjobld()j介面向jobtarker發出請求,以獲得乙個新的作業id。

3)jobclient根據作業指定的輸入檔案計算資料塊的劃分,並將完成作業所需要的資源,包括jar檔案,配置檔案,資料塊,存放到hdfs中屬於jobtracker的作業id命令的目錄下,一些檔案可能以冗餘的方式存放多個節點上。

4)完成上述工作以後,jobclient通過呼叫jobtracker的submitjob()介面提交作業。

5)jobtracker將提交的作業放入乙個作業佇列中等待作業的初始化工作,初始化工作主要是建立乙個代表此作業的執行物件,作業的執行物件由封裝了作業包含任何的任務和任務執行狀態的記錄資訊。

6)jobtracker需要從hdfs檔案系統中取出jobclient放好的資料,並根據輸入資料建立對應數量的map任務,同時根據jobconf配置檔案中定義的數量生成reduce任務。

7)tasktracker和jobtraker間通過心跳資訊維持通訊,根據這個資訊,jobtracker將map任務和reduce任務分配給tasktracker.

8)被分配任務的tasktracker從hdfs檔案系統中取出所需的檔案,包含jar檔案和任務所對應的資料檔案,並儲存進本地磁碟,並啟動乙個taskrunner程式例項準備執行任務。

9)tasktracker在虛擬機器中根據任務類別建立出map task,或reduce task進行並行運算。

二)mapreduce作業的執行流程

client:client節點上執行了mapreduce程式和jobclient.負責提交mapreduce

作業和為使用者顯示處理結果。

jobclient:負責排程協調mareduce作業的執行,是mapreduce的主控節點。分配map任務和reduce執行節點,監控任務的執行。

執行流程:

1)作業的提交

mapreduce程式啟動乙個jobclient例項,開啟整個mapreduce作業

jobclient通過getnewjobld()j介面向jobtarker發出請求,以獲得乙個新的作業id。

jobclient根據作業指定的輸入檔案計算資料塊的劃分,並將完成作業所需要的資源,包括jar檔案,配置檔案,資料塊,存放到hdfs中屬於jobtracker的作業id命令的目錄下,一些檔案可能以冗餘的方式存放多個節點上。

完成上述工作以後,jobclient通過呼叫jobtracker的submitjob()介面提交作業。

2)作業的初始化

jobtracker用佇列機制處理多個請求,收到的請求會放入乙個內部佇列中,由作業排程器處理,初始化內容就是建立乙個例項,用於後續跟蹤和排程此作業,jobtracker要從分布式檔案系統中取出joclient存放的資料分片資訊,以此決定建立map任務的數量,並建立例項監控和排程map任務,而需要建立的reduce任務數量由例項配置檔案中的引數決定

Hadoop之yarn的工作流程

yarn通用資源管理框架主要由以下幾個部分組成 resourcemanager rm nodemanager nm 用來啟動和監控本地計算機資源單位container的利用情況,是每個節點上的資源和任務管理器,定時地向rm匯報本節點上的資源使用情況和各個container 的執行狀態,並且接受並處理...

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

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

Struts工作流程

文章分類 招聘求職 乙個使用者的請求是通actionservlet來處理和 的。那麼,actionservlet如何決定把使用者請求 給哪個action物件呢?這就需要一些描述使用者請求路徑和action衍射關係的配置資訊了。在struts中,這些配置對映資訊都儲存在特定的xml檔案struts c...