問答>python+大數(shù)據(jù)開發(fā)>yarn的工作流程是什么?
yarn的工作流程是什么?
來源傳智教育2022年06月28日 14時27分11秒
YARN工作流程如下圖1-1所示。
圖1-1 YARN工作流程示意圖
具體工作流程如下:
(1)用戶通過客戶端Client向YARN提交應(yīng)用程序Application,提交的內(nèi)容包含Application的必備信息,如ApplicationMaster程序、啟動ApplicationMaster的命令,用戶程序等。
(2) YARN中的ResourceManager接收到客戶端應(yīng)用程序的請求后,ResourceManager中的調(diào)度(Scheduler)會為應(yīng)用程序分配一個容器,用于運(yùn)行本次程序?qū)?yīng)的ApplicationMaster.圖6-2中的MR App Mst表示的是MapReduce 程序的ApplicationMaster。
(3) ApplicationMaster被創(chuàng)建后,首先向ResourceManager注冊信息,這樣用戶可以通過ResourceManager查看應(yīng)用程序的運(yùn)行狀態(tài)。接下來第(4)~(7)步是應(yīng)用程序的具體執(zhí)行步驟。
(4) ApplicationMaster采用輪詢的方式通過RPC協(xié)議向ResourceManager申請資源。
(5) ResourceManager向提出申請的ApplicationMaster分配資源。一旦 ApplicationMaster申請到資源后,便與對應(yīng)的NodeManager通信,要求啟動任務(wù)。
(6) NodeManager為任務(wù)設(shè)置好運(yùn)行環(huán)境(包括環(huán)境變量、jar包、二進(jìn)制程序等)后,將任務(wù)啟動命令寫到一個腳本中,并通過運(yùn)行該腳本啟動任務(wù)。
(7)各個任務(wù)通過某個RPC協(xié)議向ApplicationMaster匯報(bào)自已的狀態(tài)和進(jìn)度,讓ApplicationMaster隨時掌握各個任務(wù)的運(yùn)行狀態(tài),從而可以在任務(wù)失敗時重新啟動任務(wù)。
(8)應(yīng)用運(yùn)行結(jié)束后,ApplicationMaster向ResourceManager注銷自己,并關(guān)閉自己。如果ApplicationMaster因?yàn)榘l(fā)生故障導(dǎo)致任務(wù)失敗,那么ResourceManager中的應(yīng)用程序管理器會將其重新啟動,直到所有任務(wù)執(zhí)行完畢。
最新問答
- 2022年06月30日黑盒測試與白盒測試的區(qū)別是啥?
- 2022年06月30日Hive的安裝模式有幾種?
- 2022年06月29日Flume系統(tǒng)要求是什么?
- 2022年06月29日數(shù)據(jù)發(fā)布與訂閱有哪些主要應(yīng)用場景?
- 2022年06月29日Zookeeper集群角色有哪三種?
- 2022年06月29日hadoop1.x和hadoop2.x的區(qū)別是什么,做了哪些改進(jìn)?
- 2022年06月28日znode有哪兩種節(jié)點(diǎn)?
- 2022年06月28日非全新集群選舉的過程是什么樣的?
- 2022年06月28日applicationmaster是什么?
- 2022年06月28日yarn的工作流程是什么?
相關(guān)問答
- 2022年06月28日applicationmaster是什么?
- 2022年06月23日matplotlib繪制的圖形是只有一種結(jié)構(gòu)嗎?
- 2022年06月23日如何使用matplotlib繪圖?
- 2022年06月21日學(xué)歷低可以學(xué)Python嗎?
- 2022年06月21日培訓(xùn)機(jī)構(gòu)學(xué)Python怎么樣?
- 2022年06月20日python培訓(xùn)班學(xué)習(xí)完可以找到工作嗎?
- 2022年06月20日免費(fèi)學(xué)Python的網(wǎng)站有嗎?推薦推薦
- 2022年06月20日求解:數(shù)組廣播是什么?
- 2022年06月17日Pandas有哪些描述性統(tǒng)計(jì)方法?
- 2022年06月17日read_csv()方法可以讀取什么類型文件?