大數(shù)據(jù)經(jīng)典面試題答疑---經(jīng)常問的原理問題總結(jié)(系列文章,持續(xù)更新),幫你解決大數(shù)據(jù)開發(fā)中的困擾。
1. yarn
答案區(qū):
1. yarn
1.1 基礎(chǔ)
1.1.1.hadoop 1.x
JobTracker,TaskTracker
缺點(diǎn):JobTracker負(fù)載過重,存在單點(diǎn)故障;與MapReduce強(qiáng)耦合,其他計算框架需要重復(fù)實現(xiàn)資源管理;
1.1.2.hadoop 2.x
App Mstr (Application Master進(jìn)程)
1.1.3.工作流程
如架構(gòu)圖所示,大致的工作流程如下:
1. 用戶使用客戶端向 RM 提交一個任務(wù),同時指定提交到哪個隊列和需要多少資源。用戶可以通過每個計算引擎的對應(yīng)參數(shù)設(shè)置,如果沒有特別指定,則使用默認(rèn)設(shè)置。
2. RM 在收到任務(wù)提交的請求后,先根據(jù)資源和隊列是否滿足要求選擇一個 NM,通知它啟動一個特殊的 container,稱為 Application Master(App Mstr,AM),后續(xù)流程由它發(fā)起。
3. AM 向 RM 注冊后根據(jù)自己任務(wù)的需要,向 RM 申請 container,包括數(shù)量、所需資源量、所在位置等因素。
4. 如果隊列有足夠資源,RM 會將 container 分配給有足夠剩余資源的 NM,由 AM 通知 NM 啟動 container。
5. container 啟動后執(zhí)行具體的任務(wù),處理分給自己的數(shù)據(jù)。NM 除了負(fù)責(zé)啟動 container,還負(fù)責(zé)監(jiān)控它的資源使用狀況以及是否失敗退出等工作,如果 container 實際使用的內(nèi)存超過申請時指定的內(nèi)存,會將其殺死,保證其他 container 能正常運(yùn)行。
6. 各個 container 向 AM 匯報自己的進(jìn)度,都完成后,AM 向 RM 注銷任務(wù)并退出,RM 通知 NM 殺死對應(yīng)的 container,任務(wù)結(jié)束。
1.2. yarn有哪些調(diào)度
FIFO:單隊列 先進(jìn)先出 小任務(wù)易阻塞
CAPACITY:多隊列 各隊列資源固定 小任務(wù)可同時運(yùn)行,可彈性使用資源
每個隊列都可以設(shè)置最大值,不設(shè)置的話可用到整個父隊列的資源最大值(正好有空閑時);
FAIR:多隊列 各隊列資源***\*動態(tài)搶占\**** 小任務(wù)可同時運(yùn)行
隊列創(chuàng)建時:除非隊列被準(zhǔn)確的定義,否則會以用戶名為隊列名創(chuàng)建隊列
搶占就是允許調(diào)度器殺掉占用超過其應(yīng)占份額資源隊列的containers,這些containers資源便可被分配到應(yīng)該享有這些份額資源的隊列中。
默認(rèn)調(diào)度器
Apache 開源:CAPACITY
CDH版本:FAIR
1.3. 常用命令
yarn logs -applicationId application_1539198654522_1073695 |more
1.查看 Job 信息:
hadoop job -list
2.殺掉 Job:
hadoop job –kill job_id
hadoop job –status job_id
更多關(guān)于大數(shù)據(jù)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。