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

后续还在学习更新中。

相关推荐
飞火流星02027几秒前
Hadoop3.1.1集群+Hive3.1.0环境安装
大数据·hadoop·分布式·hadoop3.1.1集群安装·hive3.1.0安装
金井PRATHAMA4 分钟前
内容与形式(二)内容:基于系统科学与信息科学双重视角的层级化定义
大数据·人工智能·自然语言处理·知识图谱
团象科技31 分钟前
跨境合规压力加剧,海外云风控筑牢 AI 出海安全底座
大数据·人工智能
七夜zippoe32 分钟前
OpenClaw 上下文管理:Token 优化策略
大数据·人工智能·深度学习·token·openclaw
傻啦嘿哟41 分钟前
用办公Agent接管Excel苦力活:跨表匹配、格式清洗、自动图表生成
大数据
广州创科水利1 小时前
广州创科:以硬核科技与全栈能力,守护边坡安全监测防线
大数据·网络·人工智能
Elastic 中国社区官方博客1 小时前
Elasticsearch ES|QL “读取时模式”:你的未映射字段一直都在那里
大数据·数据库·sql·elasticsearch·搜索引擎·全文检索
Elastic 中国社区官方博客1 小时前
Elasticsearch 查询日志:每个查询一行协调器级别日志,适用于 ES|QL、DSL、SQL 和 EQL
大数据·数据库·sql·elasticsearch·搜索引擎·全文检索·可用性测试
云栖梦泽在2 小时前
AI安全入门:如何快速识别AI系统的安全漏洞
大数据·人工智能·安全
covco10 小时前
矩阵管理系统指南:拆解星链引擎的架构设计与全链路落地实践
大数据·人工智能·矩阵