Flink底层架构与运行流程

这张图展示了Flink程序的架构和运行流程。

主要组件及功能:

  1. Flink Program(Flink程序)
    • 包含Program code(程序代码),这是用户编写的业务逻辑代码。
    • 经过Optimizer / Graph Builder(优化器/图构建器)处理后,生成Dataflow graph(数据流图),它表示了程序中数据处理的流程和任务之间的关系。
  2. Client(客户端)
    • 包含Actor System(Actor系统),用于与其他组件进行通信和交互。
    • 客户端的主要功能是向JobManager提交作业(Submit job (send dataflow)),以及取消或更新作业(Cancel / update job)。同时,它还接收来自TaskManager的状态更新(Status updates)和统计结果(Statistics & results)。
  3. JobManager(作业管理器)
    • 也包含Actor System,用于与客户端和TaskManager进行通信。
    • 它是整个系统的核心组件,负责协调和管理作业的执行。
    • Scheduler(调度器)负责将任务分配到不同的TaskManager上执行。
    • Checkpoint Coordinator(检查点协调器)负责协调分布式快照(检查点)的创建,以保证数据处理的容错性和一致性。
    • 它还持有Dataflow Graph,用于根据数据流图来调度和管理任务。
  4. TaskManager(任务管理器)
    • 每个TaskManager包含多个Task Slot(任务槽),任务槽是执行任务的基本单位,图中显示每个TaskManager有三个任务槽,其中部分任务槽中已经有Task(任务)在执行。
    • Memory & I/O Manager(内存和I/O管理器)负责管理任务的内存和输入输出操作。
    • Network Manager(网络管理器)负责管理任务之间的数据传输,通过Data Streams(数据流)在不同的TaskManager之间传输数据。
    • Actor System用于与JobManager和其他TaskManager进行通信,包括发送任务状态(Task Status)、心跳(Heartbeats)、统计信息(Statistics)等,同时接收来自JobManager的任务部署、停止、取消等指令(Deploy/Stop Cancel Tasks)以及触发检查点(Trigger Checkpoints)等操作。

整体流程:

  1. 用户编写Flink程序代码,经过优化器和图构建器生成数据流图。
  2. 客户端将数据流图提交给JobManager。
  3. JobManager根据数据流图和资源情况,通过调度器将任务分配到不同的TaskManager的任务槽中执行。
  4. TaskManager执行任务,并通过网络管理器进行数据传输,同时通过Actor系统与JobManager和其他TaskManager进行通信,汇报任务状态、心跳、统计信息等,并接收管理指令。
  5. JobManager协调整个作业的执行,包括检查点的创建等,以确保作业的正确执行和容错性。

这种架构使得Flink能够高效地处理大规模数据流,具有良好的可扩展性和容错性,广泛应用于实时数据处理和流式计算等场景。

相关推荐
大树886 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
大志哥1236 小时前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
果丁智能8 小时前
物联网智能锁赋能集中式住宿:身份核验与远程权限管控的全链路技术实践
大数据·人工智能·物联网·智能家居
王小王-1238 小时前
基于 Hive 的网易云音乐数据分析及可视化系统
hive·hadoop·数据分析·音乐数据分析·网易云音乐分析·hive音乐分析·hadoop网易云
ApacheSeaTunnel8 小时前
实战演示 | 基于 Apache SeaTunnel 与 Apache DolphinScheduler 实现 MySQL 到 Doris 离线定时增量同步
大数据·mysql·开源·doris·数据集成·seatunnel·数据同步
weixin_397574099 小时前
PDF复杂表格的1:1还原引擎:跨页表格自动拼接技术实战
大数据·人工智能·pdf
极光代码工作室9 小时前
基于数据仓库的电商数据分析平台
大数据·hadoop·python·spark·数据可视化
秋名山码民9 小时前
Graph RAG 深度解析:从向量检索到知识推理的技术演进
大数据·人工智能·rag
Database_Cool_10 小时前
大规模数据分析降本指南:AnalyticDB Serverless 弹性架构实战
数据仓库·阿里云·架构·数据分析·serverless
m0_3801671410 小时前
面向开发者的Top10加密货币数据API(2026年最新)
大数据·人工智能·区块链