大数据工具-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怎么处理反压和数据倾斜

后续还在学习更新中。

相关推荐
AI_yangxi1 小时前
短视频矩阵系统服务商
大数据·人工智能·矩阵
硅谷秋水2 小时前
SkillOpt:自演化智体技能的执行策略
大数据·人工智能·深度学习·机器学习·语言模型
智慧景区与市集主理人2 小时前
传统农场的数字化蝶变:马山百里度假区全域智慧化升级,重构乡村文旅运营逻辑
大数据·人工智能
名不经传的养虾人2 小时前
从0到1:企业级AI项目迭代日记 Vol.38|能演示的系统,和能日常用的系统,差的是这五件事
大数据·人工智能·ai编程·企业ai·多agent协作
小小王app小程序开发2 小时前
陪诊小程序开发功能深度分析:功能架构、业务逻辑与落地要点
大数据·架构
Yang96112 小时前
鼎讯信通 RM-1000:助力风电信号覆盖与设备稳定运行
大数据·网络
仙俊红2 小时前
rocketmq学习
大数据·学习·rocketmq
星辰_mya3 小时前
数据同步的几种姿势
大数据·elasticsearch·搜索引擎
卷毛迷你猪3 小时前
快速实验篇(A5)基于 MapReduce 的降水百分位数计算与干旱等级划分
大数据·mapreduce
Volunteer Technology3 小时前
Flink的DataStream分区操作
大数据·linux·flink