YARN 作业执行流程
YARN 作業(yè)執(zhí)行流程
YARN 作業(yè)執(zhí)行流程:
1、用戶向 YARN 中提交應(yīng)用程序,其中包括 MRAppMaster 程序,啟動 MRAppMaster 的命令,用戶程序等。
2、ResourceManager 為該程序分配第一個 Container,并與對應(yīng)的 NodeManager 通訊,要求它在這個 Container 中啟動應(yīng)用程序 MRAppMaster。
3、MRAppMaster 首先向 ResourceManager 注冊,這樣用戶可以直接通過 ResourceManager查看應(yīng)用程序的運行狀態(tài),然后將為各個任務(wù)申請資源,并監(jiān)控它的運行狀態(tài),直到運行結(jié)束,重復 4 到 7 的步驟。
4、MRAppMaster 采用輪詢的方式通過 RPC 協(xié)議向 ResourceManager 申請和領(lǐng)取資源。
5、一旦 MRAppMaster 申請到資源后,便與對應(yīng)的 NodeManager 通訊,要求它啟動任務(wù)。
6、NodeManager 為任務(wù)設(shè)置好運行環(huán)境(包括環(huán)境變量、JAR 包、二進制程序等)后,將任務(wù)啟動命令寫到一個腳本中,并通過運行該腳本啟動任務(wù)。
7、各個任務(wù)通過某個 RPC 協(xié)議向 MRAppMaster 匯報自己的狀態(tài)和進度,以讓 MRAppMaster隨時掌握各個任務(wù)的運行狀態(tài),從而可以在任務(wù)敗的時候重新啟動任務(wù)。
8、應(yīng)用程序運行完成后,MRAppMaster 向 ResourceManager 注銷并關(guān)閉自己。
總結(jié)
以上是生活随笔為你收集整理的YARN 作业执行流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用JS实现对页面的繁体简体翻译转换
- 下一篇: Google十大高薪职位:首席软件工程师