免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Hadoop框架:Yarn基本結(jié)構(gòu)和運(yùn)行原理

本文源碼:GitHub·點(diǎn)這里 || GitEE·點(diǎn)這里

一、Yarn基本結(jié)構(gòu)

Hadoop三大核心組件:分布式文件系統(tǒng)HDFS、分布式計(jì)算框架MapReduce,分布式集群資源調(diào)度框架Yarn。Yarn并不是在Hadoop初期就有的,是在Hadoop升級(jí)發(fā)展才誕生的,典型的Master-Slave架構(gòu)。

Yarn包括兩個(gè)主要進(jìn)程:資源管理器Resource-Manager,節(jié)點(diǎn)管理器Node-Manager。

資源管理器

  • 通常部署在獨(dú)立的服務(wù)器,處理客戶端請求;
  • 處理集群中的資源分配和調(diào)度管理;

節(jié)點(diǎn)管理器

  • 管理當(dāng)前節(jié)點(diǎn)上的資源;
  • 執(zhí)行處理各種具體的命令;
  • 監(jiān)視節(jié)點(diǎn)資源情況,并上報(bào)資源管理器;

ApplicationMaster

  • 提供容錯(cuò)能力,切割數(shù)據(jù);
  • 給應(yīng)用程序申請資源并分配任務(wù);

Container

  • Yarn中的一個(gè)動(dòng)態(tài)資源分配的概念;
  • 容器包含了一定量的內(nèi)存、CPU等計(jì)算資源;
  • 由NodeManager進(jìn)程啟動(dòng)和管理;

二、基本執(zhí)行流程

  • 向Yarn提交MapReduce應(yīng)用程序程序進(jìn)行調(diào)度;
  • RM組件返回資源提交路徑和ApplicationId;
  • RM進(jìn)程N(yùn)M進(jìn)程通信,根據(jù)集群資源分配容器;
  • 將MRAppMaster分發(fā)到上面分配的容器上面;
  • 運(yùn)行所需資源提交到HDFS上申請運(yùn)行MRAppMaster;
  • RM經(jīng)過上述操作把客戶端請求轉(zhuǎn)換為Task任務(wù);
  • 容器中運(yùn)行的就是Map或者Reduce任務(wù);
  • 任務(wù)在運(yùn)行期間和MRAppMaster通信上報(bào)狀態(tài);
  • 任務(wù)執(zhí)行結(jié)束后進(jìn)程注銷并且釋放容器資源;

MapReduce應(yīng)用開發(fā)遵循Yarn規(guī)范的MapReduceApplicationMaster,所以可以在Yarn上運(yùn)行,其它計(jì)算框架如果也遵守該規(guī)范,這樣就實(shí)現(xiàn)資源的統(tǒng)一調(diào)度管理。

三、資源調(diào)度器

調(diào)度器的基本作用就是根據(jù)節(jié)點(diǎn)資源的使用情況和作業(yè)需求,將任務(wù)調(diào)度到各個(gè)節(jié)點(diǎn)上執(zhí)行。單理解任務(wù)隊(duì)列的話關(guān)鍵的因素有如下幾個(gè):進(jìn)出方式,優(yōu)先級(jí),容量等。

Hadoop作業(yè)調(diào)度器主要有三種:FIFO、CapacityScheduler和FairScheduler,默認(rèn)的資源調(diào)度器是CapacityScheduler。

先進(jìn)先出調(diào)度器

FIFO一種批處理調(diào)度器,調(diào)度策略先按照作業(yè)的優(yōu)先級(jí)高低,再按照到達(dá)時(shí)間的先后選擇被執(zhí)行的作業(yè)。

容量調(diào)度器

CapacityScheduler支持多個(gè)隊(duì)列,每個(gè)隊(duì)列可配置一定的資源量,每個(gè)隊(duì)列采用FIFO調(diào)度策略,計(jì)算隊(duì)列中正在運(yùn)行的任務(wù)書和計(jì)算資源的比值,選中比值小相對(duì)空閑的隊(duì)列,然后安裝作業(yè)優(yōu)先級(jí)和提交時(shí)間的排序。為了防止同一個(gè)用戶的作業(yè)獨(dú)占隊(duì)列中的資源,該調(diào)度器會(huì)對(duì)同一用戶提交的作業(yè)所占資源量進(jìn)行限定。

例如上面圖例,假設(shè)100個(gè)slot分為三個(gè)隊(duì)列(ABC),按照如下分配規(guī)則:隊(duì)列A給20%的資源,隊(duì)列B給50%的資源,隊(duì)列C給30%的資源;三個(gè)隊(duì)列都按照任務(wù)的先后順序依次執(zhí)行,上面的job11、job21、job31是最先運(yùn)行,也是并行運(yùn)行。

公平調(diào)度器

和容量調(diào)度器原理類似,支持多隊(duì)列多用戶,每個(gè)隊(duì)列中的資源量可以配置,同一隊(duì)列中的作業(yè)公平共享隊(duì)列中所有資源。

比如有三個(gè)隊(duì)列(ABC),每個(gè)隊(duì)列中的job按照優(yōu)先級(jí)分配資源,優(yōu)先級(jí)越高分配的資源越多,但是每個(gè)job都會(huì)分配到資源以確保公平。在資源有限的情況下,每個(gè)job理想情況下獲得的計(jì)算資源與實(shí)際獲得的計(jì)算資源存在一種差距,,這個(gè)差距就叫做缺額。在同一個(gè)隊(duì)列中,job的資源缺額越大,越先獲得資源優(yōu)先執(zhí)行,作業(yè)是按照缺額的高低來先后執(zhí)行的。

四、源代碼地址

GitHub·地址
https://github.com/cicadasmile/big-data-parent
GitEE·地址
https://gitee.com/cicadasmile/big-data-parent

推薦閱讀:編程體系整理

序號(hào) 項(xiàng)目名稱 GitHub地址 GitEE地址 推薦指數(shù)
01 Java描述設(shè)計(jì)模式,算法,數(shù)據(jù)結(jié)構(gòu) GitHub·點(diǎn)這里 GitEE·點(diǎn)這里 ☆☆☆☆☆
02 Java基礎(chǔ)、并發(fā)、面向?qū)ο蟆eb開發(fā) GitHub·點(diǎn)這里 GitEE·點(diǎn)這里 ☆☆☆☆
03 SpringCloud微服務(wù)基礎(chǔ)組件案例詳解 GitHub·點(diǎn)這里 GitEE·點(diǎn)這里 ☆☆☆
04 SpringCloud微服務(wù)架構(gòu)實(shí)戰(zhàn)綜合案例 GitHub·點(diǎn)這里 GitEE·點(diǎn)這里 ☆☆☆☆☆
05 SpringBoot框架基礎(chǔ)應(yīng)用入門到進(jìn)階 GitHub·點(diǎn)這里 GitEE·點(diǎn)這里 ☆☆☆☆
06 SpringBoot框架整合開發(fā)常用中間件 GitHub·點(diǎn)這里 GitEE·點(diǎn)這里 ☆☆☆☆☆
07 數(shù)據(jù)管理、分布式、架構(gòu)設(shè)計(jì)基礎(chǔ)案例 GitHub·點(diǎn)這里 GitEE·點(diǎn)這里 ☆☆☆☆☆
08 大數(shù)據(jù)系列、存儲(chǔ)、組件、計(jì)算等框架 GitHub·點(diǎn)這里 GitEE·點(diǎn)這里 ☆☆☆☆☆
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
深入淺出Hadoop YARN
Hadoop學(xué)習(xí)之路(8)Yarn資源調(diào)度系統(tǒng)詳解
?Hadoop Yarn 在小米的實(shí)踐
從hadoop MapReduce 1.0到y(tǒng)arn (1)
hadoop2.0 capacity調(diào)度器配置
hadoop2.0 yarn 之 資源調(diào)度器 基于hadoop2.2.0
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服