Yarn 的Application 的依賴檔案和包是如何上傳下載和使用的
簡述下背景
大家經常關注的點就是一個Application是如何提交到Yarn上,Application的一個執行流程,但是估計對Application的依賴檔案是什麼時間,如何上傳到到對應的nodemanager上,並且被被container如何載入和使用估計不清楚,這兒簡單介紹下。
在YARN中,分散式快取是一種分散式檔案與快取機制,類似於MRv1中的DistributedCache,其主要作用是將使用者應用程式執行所需要的外部檔案資源自動透明地下載並快取到各個節點上,從而省去了使用者手動部署這些檔案的麻煩。
Yarn分散式快取工作流程如下:
- 1、 客戶端將應用程式所需的檔案資源(外部字典,JAR包,二進位制檔案等)提交到HDFS上
- 2、客戶端將應用程式提交到ResourceManager上
- 3、 ResourceManager和某個NodeManager通訊,啟動應用程式的ApplicationMaster,NodeManagers收到命令後,首先從HDFS上下載檔案(快取),然後啟動ApplcationMaster。
- 4、ApplcationMaster和ResourceManager通訊,請求和獲取計算資源。
- 5、ApplciationMaster收到新分配的計算資源後,與對應的NodeManager通訊,以啟動任務。
- 6、如果該應用程式第一次在該節點上啟動任務,則NodeManager首先從HDFS上下載檔案快取到本地,然後啟動任務。
- 7、NodeManager後續收到啟動任務的請求後,如果檔案已經在本地快取,則會直接直接執行任務,否則等待檔案快取完成後才會啟動。
相關文章
- springboot 中檔案的上傳和下載Spring Boot
- Xshell在Windows和Linux間檔案的上傳和下載WindowsLinux
- Java SE 檔案上傳和檔案下載的底層原理Java
- maven私服上傳和下載包的配置Maven
- 如何在命令列中使用 ftp 命令上傳和下載檔案命令列FTP
- spring cloud feign 檔案上傳和檔案下載SpringCloud
- 檔案的上傳與下載
- 實現簡單的csv檔案上傳和bootstrap表格的下載boot
- PHP 如何上傳檔案和下載,你學會了嗎?PHP
- 前端實現檔案下載和拖拽上傳前端
- 使用SecureCRT上傳下載檔案Securecrt
- Springboot專案中需整合的依賴集和檔案配置Spring Boot
- 『心善淵』Selenium3.0基礎 — 19、使用Selenium操作檔案的上傳和下載
- C#如何使用HttpClient對大檔案進行斷點上傳和下載C#HTTPclient斷點
- 【Azure Function & Application Insights】呼叫Function上傳和下載檔案,有時候遇見大於1MB的檔案的日誌沒有記錄在Application Insights中FunctionAPP
- 如何使用Maven將專案中的依賴打進jar包MavenJAR
- Struts2的檔案上傳下載
- 【liunx命令】上傳下載檔案的方法
- 使用Vue+go實現前後端檔案的上傳下載,csv檔案上傳下載可直接照搬VueGo後端
- openGauss libpq使用依賴的標頭檔案
- xshell 使用 sftp上傳下載檔案FTP
- 檔案上傳下載
- 檔案傳輸中,上傳、下載速度和預期有差距如何解決?
- MinIO上傳和下載檔案及檔案完整性校驗.
- 利用Github和jitpack釋出自己的依賴包Github
- 再探迴圈依賴 → Spring 是如何判定原型迴圈依賴和構造方法迴圈依賴的?Spring原型構造方法
- Spring裡面xml檔案中bean的依賴和繼承SpringXMLBean繼承
- npm如何管理依賴包的版本NPM
- 載入AB的4種方式以及透過Manifest檔案得到某個包的依賴
- JAVA檔案上傳下載Java
- springboot 檔案上傳下載Spring Boot
- 檔案上傳與下載
- pnpm 管理依賴包是如何節省磁碟空間的?NPM
- 單個檔案上傳和批量檔案上傳
- 面試官:你是如何理解Java中依賴倒置和依賴注入以及控制反轉的?面試Java依賴注入
- pnpm 是如何顛覆 npm 和 yarn 的?NPMYarn
- vue實現Excel檔案的上傳與下載VueExcel
- springCloud 微服務通過minio實現檔案上傳和檔案下載介面SpringGCCloud微服務