大数据工具-Flink

1. Flink公司架构

架构:主从(Master-Slave)模式

核心组件:Client(设计师-故障恢复)JobManager(派活-调度)TaskManager(干活包头-数据处理),由此大家肯定看出来TaskManager还有很多干活的小弟(Task Slot).

干活流程

(1) 图纸设计 (Client)

  • 角色Client (项目设计师)

  • 动作

    • 用户编写代码(定义 Source, Map, Sink 等算子)。

    • Client 将代码转换成 JobGraph(初步施工图纸)。

    • 提交 :Client 把图纸发给 JobManager,然后就可以"下班"了。

(2) 任务分配与资源筹备 (JobManager)

  • 角色JobManager (总包工头)

    • Dispatcher (前台接待):接收 Client 提交的图纸。

    • JobMaster (现场经理):每个项目配一个,负责把JobGraph 细化为物理施工图(ExecutionGraph),决定哪个算子去哪个机器跑。

    • ResourceManager (物资部长):负责找机器。如果集群资源不够,它会向 YARN/K8s 申请新的 TaskManager (招新工人)。

  • 动作

    • JobMaster 向 ResourceManager 申请资源(Slots)。

    • ResourceManager 协调现有的 TaskManager 上报空闲的 Slot (工位)。

(3) 正式干活 (TaskManager & Slots)

  • 角色TaskManager (包工头) & Task Slot (具体干活的工人)

  • 动作

    • 部署:JobManager 把具体的任务代码下发给 TaskManager 的特定 Slot。

    • 执行:Slot 开始处理数据流。

      • Task Chaining (任务链):为了效率,JobManager 会把多个小任务(如 Map -> Filter)串起来,交给同一个 Slot 一口气做完,减少传递损耗。
    • 数据交换 (Shuffle):如果需要跨机器传数据(比如 GroupBy),不同 TaskManager 之间会通过网络直接传输。

(4) 监工与备份 (容错机制)

  • 角色JobManager (监工) & TaskManager (记录员)

  • 动作

    • 心跳检测:TaskManager 定期向 JobManager 报平安(心跳)。

    • Checkpoint (检查点)

      • JobManager 定期喊一声:"大家停一下手里的活,把当前进度存个档!"

      • 所有 TaskManager 将内存中的状态快照保存到持久化存储(如 HDFS/S3)。

    • 故障恢复

      • 如果某个 TaskManager 挂了(断电/宕机),JobManager 发现心跳丢失。

      • JobManager 立即指挥其他健康的 TaskManager,利用最近一次的 Checkpoint 存档,重新拉起任务 ,从断点继续干。(注意:这里才是故障恢复的核心,Client 不参与)

关于Flink怎么处理反压和数据倾斜

后续还在学习更新中。

相关推荐
Lab_AI2 小时前
iLabPower LES与SDH科学数据基因组平台赋能光电材料研发与生产,鼎材科技与创腾科技进一步深化合作
大数据·人工智能·oled·材料设计·光电材料研发·材料创新·材料研发
渣渣盟2 小时前
Flink实现TopN URL访问量统计
大数据·flink·scala
无你想你2 小时前
Datawhale之春晚机器人跳舞复刻
大数据·elasticsearch·机器人
添柴少年yyds2 小时前
Flink的Checkpoint原理和流程
flink
wAIxiSeu2 小时前
万字长文解析Apache Paimon
大数据
网络工程小王2 小时前
【大数据技术详解】——HIVE技术(学习笔记)
大数据·hive·hadoop
刘一说2 小时前
Git 工具知识全景图:从核心概念到高效协作实践
大数据·git·elasticsearch
MarsLord2 小时前
ElasticSearch快速入门实战(1)-索引、别名、建模最佳实践
大数据·elasticsearch·搜索引擎
徐礼昭|商派软件市场负责人2 小时前
“80%应用将消亡”?后App时代:AI智能体重构人机交互与数字商业新秩
大数据·人工智能·人机交互·零售·智能搜索·ai推荐