Flink 学习一

Flink 学习一,第1张

Flink 学习一 一 flink的概念 1.分布式的 计算引擎 2.支持 批处理 ,即处理静态的数据集、历史的数据集 3.支持 流处理 ,即实时地处理一些实时数据流 4.支持 基于事件 的应用【比如说滴滴通过 Flink CEP 实现实时监测司机的行为流来判断司机的行为是否正当】 官网地址 : https://flink.apache.org/ 二  flink的架构 2.1  flink的架构图

 

1. 当 Flink 执行 executor 会自动根据程序代码生成 DAG 数据流图 2. ActorSystem 创建 Actor 将数据流图发送给 JobManager 中的 Actor 3. JobManager 会不断接收 TaskManager 的心跳消息,从而可以获取到有效的 TaskManager 4. JobManager 通过调度器在 TaskManager 中调度执行 Task (在 Flink 中,最小的调度单元就是 task ,对应就是一个线 程) 5. 在程序运行过程中, task 与 task 之间是可以进行数据传输的

Job Client 主要职责是 提交任务 , 提交后可以结束进程 , 也可以等待结果返回 Job Client 不是 Flink 程序执行的内部部分,但它是任务执行的 起点 。 Job Client 负责接受用户的程序代码,然后创建数据流,将数据流提交给 Job Manager 以便进一步执行。 执 行完成后, Job Client 将结果返回给用户 JobManager 主要职责是调度工作并协调任务做 检查点 集群中至少要有一个 master , master 负责调度 task ,协调 checkpoints 和容错, 高可用设置的话可以有多个 master ,但要保证一个是 leader, 其他是 standby ; Job Manager 包含 Actor System 、 Scheduler 、 CheckPoint 三个重要的组件 JobManager 从客户端接收到任务以后 , 首先生成 优化过的执行计划 , 再调度到 TaskManager 中执行 TaskManager 主要职责是从 JobManager 处接收任务 , 并部署和启动任务 , 接收上游的数据并处理 Task Manager 是在 JVM 中的一个或多个线程中执行任务的工作节点。 TaskManager 在创建之初就设置好了 Slot , 每个 Slot 可以执行一个任务

2.2  flink的用途

 阿里在Flink的应用主要包含四个模块:实时监控、实时报表、流数据分析和实时仓库。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5700288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存