最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

大數(shù)據(jù)計(jì)算引擎 EasyMR 如何簡單高效管理 Yarn 資源隊(duì)列

2023-09-01 10:59 作者:袋鼠云  | 我要投稿

設(shè)想一下,作為一個(gè)開發(fā)人員,你現(xiàn)在所在的公司有一套線上的 Hadoop 集群。A部門經(jīng)常做一些定時(shí)的 BI 報(bào)表,B部門則經(jīng)常使用軟件做一些臨時(shí)需求。那么他們肯定會(huì)遇到同時(shí)提交任務(wù)的場景,這個(gè)時(shí)候到底應(yīng)該如何分配資源滿足這兩個(gè)任務(wù)呢?是先執(zhí)行A的任務(wù),再執(zhí)行B的任務(wù),還是同時(shí)跑兩個(gè)?

如果你存在上述的困惑,可以多了解一些 Yarn 的資源調(diào)度器。

Yarn 的三種調(diào)度器

從 Hadoop2 開始,官方把資源管理單獨(dú)剝離出來,主要是為了考慮后期作為一個(gè)公共的資源管理平臺(tái),任何滿足規(guī)則的計(jì)算引擎都可以在它上面執(zhí)行。Yarn 作為一款 Hadoop 集群的資源共享,不僅可以跑 MapReduce,還可以跑 Spark,F(xiàn)link。

在 Yarn 框架中,調(diào)度器是一塊很重要的內(nèi)容。有了合適的調(diào)度規(guī)則,就可以保證多個(gè)應(yīng)用在同一時(shí)間有條不紊的工作。

最原始的調(diào)度規(guī)則就是 FIFO,即按照用戶提交任務(wù)的時(shí)間來決定哪個(gè)任務(wù)先執(zhí)行,但是這樣很可能一個(gè)大任務(wù)獨(dú)占資源,其他的資源需要不斷的等待,也可能一堆小任務(wù)占用資源,大任務(wù)一直無法得到適當(dāng)?shù)馁Y源,造成饑餓。所以 FIFO 雖然很簡單,但是并不能滿足我們的需求。

如下圖所示,在 Yarn 中有三種調(diào)度器可以選擇:FIFO Scheduler,Capacity Scheduler,F(xiàn)air Scheduler。

FIFO Scheduler

把應(yīng)用按提交的順序排成一個(gè)先進(jìn)先出隊(duì)列,在進(jìn)行資源分配的時(shí)候,先給隊(duì)列中最頭部的應(yīng)用進(jìn)行分配資源,等到最頭部的應(yīng)用需求滿足后再給下一個(gè)分配,以此類推。

FIFO Scheduler 是最簡單也是最容易理解的調(diào)度器,它不需要任何配置,但不適用于共享集群中。大的應(yīng)用可能會(huì)占用所有集群資源,從而導(dǎo)致其它應(yīng)用被阻塞。

Capacity 調(diào)度器

允許多租戶安全的共享集群資源,提供的核心理念就是 Queues(隊(duì)列),它支持多個(gè)隊(duì)列,每個(gè)隊(duì)列可配置一定的資源量,以確保在其他 queues 允許使用空閑資源之前,資源可以在一個(gè)組織的 sub-queues 之間共享,且每個(gè)隊(duì)列采用 FIFO 調(diào)度策略。為了在共享資源上,提供更多的控制和預(yù)見性,applications 在容量限制之下,可以及時(shí)的分配資源。

Fair 調(diào)度器

在 Fair 調(diào)度器中,我們不需要預(yù)先占用一定的系統(tǒng)資源,F(xiàn)air 調(diào)度器會(huì)為所有運(yùn)行的 job 動(dòng)態(tài)的調(diào)整系統(tǒng)資源。當(dāng)?shù)谝粋€(gè)大 job 提交時(shí),只有這一個(gè) job 在運(yùn)行,此時(shí)它獲得了所有集群資源;當(dāng)?shù)诙€(gè)小任務(wù)提交后,F(xiàn)air 調(diào)度器會(huì)分配一半資源給這個(gè)小任務(wù),讓這兩個(gè)任務(wù)公平的共享集群資源。

需要注意的是,從第二個(gè)任務(wù)提交到獲得資源會(huì)有一定的延遲,因?yàn)樗枰却谝粋€(gè)任務(wù)釋放占用的 Container。小任務(wù)執(zhí)行完成之后也會(huì)釋放自己占用的資源,大任務(wù)又獲得了全部的系統(tǒng)資源。最終的效果就是 Fair 調(diào)度器既得到了高的資源利用率又能保證小任務(wù)及時(shí)完成。

EasyMR 如何管理 Yarn 資源隊(duì)列

最原始的調(diào)度規(guī)則就是 FIFO,即按照用戶提交任務(wù)的時(shí)間來決定哪個(gè)任務(wù)先執(zhí)行,但是這樣可能會(huì)導(dǎo)致一個(gè)大任務(wù)獨(dú)占資源,其他的資源需要不斷的等待,也可能導(dǎo)致一堆小任務(wù)占用資源,大任務(wù)一直無法得到適當(dāng)?shù)馁Y源,造成饑餓。

所以 FIFO 雖然很簡單,但是并不能滿足我們的需求。最常使用的是容量調(diào)度策略,但是運(yùn)維人員在配置容量隊(duì)列時(shí),需要考慮隊(duì)列資源利用率,隊(duì)列的狀態(tài),修改完成后,亦無法校驗(yàn)配置是否正確。

EasyMR 出于簡單高效原則,開放了資源隊(duì)列管理功能。

以容量調(diào)度為例,為大家簡單演示 EasyMR 中隊(duì)列的使用。假設(shè)公司有個(gè)大數(shù)據(jù)部門,該部門下有個(gè)做數(shù)據(jù)同步的小組,隊(duì)列樹形圖如下:

要?jiǎng)?chuàng)建這樣層次的隊(duì)列,首先需要在父級(jí)別下面創(chuàng)建 bigdata 隊(duì)列,然后在 bigdata 下面劃分一個(gè)子隊(duì)列 dataSync,下文進(jìn)行詳細(xì)介紹。

創(chuàng)建隊(duì)列

首先創(chuàng)建父隊(duì)列 bigdata,設(shè)置最小容量20%,最大容量50%。

在父隊(duì)列中添加 bigdata 隊(duì)列名稱。

設(shè)置 bigdata 的容量調(diào)度配置。

??


創(chuàng)建子隊(duì)列

在 bigdata 父隊(duì)列下面,選擇創(chuàng)建子隊(duì)列,設(shè)置最小容量10%,最大容量30%。

在 bigdata 隊(duì)列中添加 dataSync 隊(duì)列名。

設(shè)置 dataSync 隊(duì)列的容量調(diào)度配置。

?


查看隊(duì)列

創(chuàng)建完成后,可以在 EasyMR 資源隊(duì)列查看隊(duì)列詳情。

在 EasyMR 創(chuàng)建完成后,也可以在 yarn web 管理頁面查看隊(duì)列創(chuàng)建詳情。

至此,Yarn 的一個(gè)簡單容量調(diào)度就創(chuàng)建完成了。

《數(shù)據(jù)治理行業(yè)實(shí)踐白皮書》下載地址:https://fs80.cn/l134d5?

《數(shù)棧V6.0產(chǎn)品白皮書》下載地址:https://fs80.cn/cw0iw1

想了解或咨詢更多有關(guān)袋鼠云大數(shù)據(jù)產(chǎn)品、行業(yè)解決方案、客戶案例的朋友,瀏覽袋鼠云官網(wǎng):https://www.dtstack.com/?src=szbzhan

同時(shí),歡迎對大數(shù)據(jù)開源項(xiàng)目有興趣的同學(xué)加入「袋鼠云開源框架釘釘技術(shù) qun」,交流最新開源技術(shù)信息,qun 號(hào)碼:30537511,項(xiàng)目地址:https://github.com/DTStack


大數(shù)據(jù)計(jì)算引擎 EasyMR 如何簡單高效管理 Yarn 資源隊(duì)列的評(píng)論 (共 條)

分享到微博請遵守國家法律
廊坊市| 文安县| 华坪县| 广州市| 疏附县| 湘潭县| 盐津县| 渭南市| 安乡县| 车险| 陆良县| 湘潭市| 临湘市| 高雄县| 和龙市| 六枝特区| 宜良县| 和硕县| 普宁市| 井陉县| 昭觉县| 科尔| 腾冲县| 万宁市| 琼结县| 昆山市| 南皮县| 大丰市| 昆明市| 山阳县| 怀远县| 珠海市| 毕节市| 丽江市| 虞城县| 阆中市| 平顶山市| 裕民县| 盘锦市| 罗田县| 平昌县|