文章目錄
- Flink 組成
- 1.JobManager
- 2.TaskManager
- 3.ResourceManager
- 4.Dispatcher
- 5.Client
- 6. Env
- JobManager Metrics
- TaskManager Metrics
Flink 組成
1.JobManager
管理任務
- 作業調度:負責接收和調度作業,分配任務到 TaskManager。
- 資源管理:管理集群資源,協調 TaskManager 的啟動和停止。
- 故障恢復:負責作業的故障恢復,重新調度失敗的任務。
JobManager 相關參數:
jobmanager.memory.process.size
:JobManager 進程的總內存大小。jobmanager.rpc.address
:JobManager 的 RPC 通信地址。jobmanager.rpc.port
:JobManager 的 RPC 通信端口。
2.TaskManager
執行任務
- 任務執行:負責執行分配給它的任務(如數據處理、計算等)。
- 資源管理:管理分配給它的資源(如 CPU、內存等)。
- 心跳機制:定期向 JobManager 發送心跳,報告自身狀態。
TaskManager 相關參數:
taskmanager.numberOfTaskSlots
:每個 TaskManager 提供的任務槽數量。taskmanager.memory.process.size
:TaskManager 進程的總內存大小。taskmanager.network.memory.fraction
:TaskManager 分配給網絡緩沖區的內存比例。
3.ResourceManager
資源管理
- 資源分配:管理集群資源,分配資源給 TaskManager。
- 資源回收:回收不再使用的資源,優化資源利用。
- 資源監控:監控集群資源的使用情況,確保資源的合理分配。
4.Dispatcher
分發器
- 作業分發:接收客戶端提交的作業,分發給 JobManager。
- 作業管理:管理作業的生命周期,包括提交、調度和完成。
- 作業監控:提供作業的監控信息,如進度、日志等。
Dispatcher 相關參數:
dispatcher.address
:Dispatcher 的地址。dispatcher.port
:Dispatcher 的端口。
5.Client
提交任務
- 作業提交:負責將作業提交到 Flink 集群。
- 作業配置:配置作業的參數和資源需求。
- 作業監控:監控作業的執行狀態,提供日志和性能指標。
6. Env
環境
- 執行環境配置:配置作業的執行環境,包括并行度、資源需求等。
- 作業執行:執行作業的邏輯,包括數據源、轉換和數據匯出。
環境參數
parallelism.default
:默認的并行度。execution.batch.speculative.enabled
:是否啟用推測執行。
JobManager Metrics
TaskManager Metrics
堆內存計算: