簡體   English   中英

Apache Flink中的TaskManager如何分配作業

[英]How is a job assigned to TaskManager in Apache Flink

好吧,基本上我知道了工作分配的整個過程:

  1. 在 JobClient 生成 StreamGraph;
  2. 在 JobClient 生成 JobGraph;
  3. 將 JobGraph 發送給 JobMaster,生成 ExecutionGraph;
  4. 將 ExecutionGraph 發送到 TaskManager 以生成物理執行計划。

但我不知道到底發送了什么樣的東西。 例如,當 JobMaster 向某個 TaskManager 發送ExecutionGraph時, ExecutionGraph到底是什么? 是文件嗎? 某種 stream? 或者是其他東西?

如果是文件,文件太大怎么辦? 有大小限制嗎?

如果是 stream,如果發送 stream 時間太長怎么辦? 超時有什么限制嗎?

Job Manager 不發送執行圖。 在我看來,執行圖是任務執行的邏輯視圖(即操作員鏈又名任務的並行實例,任務共享組)。

JobManager 搜索可用的任務槽以分配給槽共享組。 這些槽共享組中的任務被發送到具有相應槽的任務管理器。 之后,這些任務在不同線程的槽中運行。

此外,作業管理器和任務管理器之間的任何類型的消息傳遞都是由 Akka 完成的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM