3.3 yarn資源管理系統(tǒng)
yarn是一種新的Hadoop資源管理器,是一個(gè)通用的資源管理系統(tǒng)纠吴∮舶埃可以為上層應(yīng)用提供統(tǒng)一的資源調(diào)度,在資源共享戴已、資源利用上有很大的好處膳凝。
yarn的基本架構(gòu)
主要由資源管理器、應(yīng)用程序管理器恭陡、節(jié)點(diǎn)管理器和相應(yīng)的容器構(gòu)成。主要作用如下:
資源管理器(resourcemanager):一個(gè)全局的資源管理器上煤,主要負(fù)責(zé)整個(gè)系統(tǒng)的資源調(diào)度休玩。
應(yīng)用程序管理器(applicationMaster):用戶提交的每一個(gè)應(yīng)用程序都包含一個(gè)應(yīng)用程序管理器。主要就是與資源管理器協(xié)商獲取資源劫狠,還負(fù)責(zé)與節(jié)點(diǎn)管理器通訊來(lái)啟動(dòng)或停止具體的任務(wù)拴疤。
節(jié)點(diǎn)程序管理器(NOdeManager):從節(jié)點(diǎn),整個(gè)作業(yè)運(yùn)行的執(zhí)行者独泞。
容器(container):資源的一個(gè)抽象呐矾,封裝了內(nèi)存、cpu懦砂、硬盤等資源蜒犯。
yarn的工作原理
(1)yarn上運(yùn)行的應(yīng)用程序
有兩類,按時(shí)間長(zhǎng)短來(lái)分荞膘,短的就是幾分鐘罚随、幾天就可以完成作業(yè)的程序,比如MapReduce的作業(yè)羽资。
長(zhǎng)時(shí)間的就是不出意外淘菩,永不停歇的應(yīng)用程序。
(2)工作流程
上面按時(shí)間來(lái)對(duì)程序做分類的目的就是在此屠升,短程序直接運(yùn)行潮改,長(zhǎng)程序呢就需要先部署在服務(wù)中,但兩者在yarn中的步驟一樣腹暖,如下:
1:客戶端先向資源管理器提交一個(gè)任務(wù)作業(yè)汇在。
2:資源管理器會(huì)為這個(gè)任務(wù)分配一個(gè)容器,先與節(jié)點(diǎn)管理器通信脏答,讓它啟動(dòng)容器中的應(yīng)用程序管理器趾疚。
3:應(yīng)用程序管理器一旦啟動(dòng)缨历,會(huì)先向資源管理器注冊(cè),然后就會(huì)展開(kāi)監(jiān)控糙麦。
4:各個(gè)任務(wù)會(huì)通過(guò)rpc協(xié)議向應(yīng)用程序管理器匯報(bào)狀態(tài)辛孵,一旦失敗會(huì)立即重啟。
3.4Hadoop分布式集群的搭建
Hadoop作為大數(shù)據(jù)處理平臺(tái)赡磅,利用HDFS來(lái)儲(chǔ)存海量數(shù)據(jù)魄缚,利用yarn來(lái)進(jìn)行資源管理,所以搭建Hadoop集群就是搭建hdfs分布式集群和yarn分布式集群焚廊。