Flink1.6系列之—Flink on yarn流程詳解


 

本篇我們介紹下,Flink在YARN上運行流程:

 

 

 

  1. 當開始一個新的Flink yarn 會話時,客戶端首先檢查所請求的資源(containers和內存)是否可用。如果資源夠用,之后,上傳一個jar包,包含Flink和HDFS的配置。
  2. 客戶端向yarn resource manager發送請求,申請一個yarn container去啟動ApplicationMaster。
  3. yarn resource manager會在nodemanager上分配一個container,去啟動ApplicationMaster
  4. yarn nodemanager會將配置文件和jar包下載到對應的container中,進行container容器的初始化。
  5. 初始化完成后,ApplicationMaster構建完成。ApplicationMaster會為TaskManagers生成新的Flink配置文件(使得TaskManagers根據配置文件去連接到JobManager),配置文件會上傳到HDFS。
  6. ApplicationMaster開始為該Flink應用的TaskManagers分配containers,這個過程會從HDFS上下載jar和配置文件(此處的配置文件是AM修改過的,包含了JobManager的一些信息,比如說JobManager的地址)
  7. 一旦上面的步驟完成,Flink已經建立並准備好接受jobs。

注意事項:

  • 客戶端:這里的客戶端就是用戶提交Flink應用的節點。
  • ApplicationMaster和JobManager運行同一個container中;因此ApplicationMaster,生成新的配置文件時,就知道JobManager的信息,比如說JobManager的地址。
  • AM:也就是ApplicationMaster。ApplicationMaster container還為Flink的web界面提供服務。
  • YARN中代碼使用的端口都是臨時的,這就使得用戶可以並行執行多個FLink會話。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM