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的应用主要包含四个模块:实时监控、实时报表、流数据分析和实时仓库。

2.3  flink的程序结构

 

Flink 程序的基本构建块是 转换, 从概念上讲,流是 (可能永无止境的)数据记录流,而转换是将一个或多个流作为一个或多个流的操作。输入,并产生一个或多个输出 流。

2.4  流处理和批处理

流处理系统与批处理系统最大不同在于 节点间的数据传输方式:
1.对于一个流处理系统,其节点间数据传输的标准模型是:
      当一条数据被处理完成后,序列化到缓存中,然后立刻通过网络传输到下一个节点,由下一个节点继续处理。
2.对于一个批处理系统,其节点间数据传输的标准模型是:
       当一条数据被处理完成后,序列化到缓存中,并不会立刻通过网络传输到下一个节点, 当缓存写满 ,就持久化到本地硬盘上 ,当所有数据都被处理完成后,才开始将处理后的数据通过网络传输到下一个节点。
流处理对 低延迟 的要求。
批处理对 高吞吐量 的要求。
3.Flink的执行引擎采用了一种十分灵活的方式,同时支持了这两种数据传输模型 ,支持批处理任务与流处理任务。
1.flink的流处理: Flink 固定的缓存块 为单位进行网络数据传输,用户可以通过设置缓存块超时值指定缓存块的传输时机。如果缓存块的超时值为0 ,则 Flink 的数据传输方式类似上文所提到流处理系统的标准模型,此时系统可以获得最低的处理延迟。
2.flink的批处理: 如果缓存块的超时值为无限大,则 Flink 的数据传输方式类似上文所提到批处理系统的标准模型,此时系统可以 获得最高的吞吐量。
同时缓存块的超时值也可以设置为 0 到无限大之间的任意值。缓存块的超时阈值越小,则 Flink 流处理执行引擎的 数据处理延迟越低,但吞吐量也会降低,反之亦然。通过调整缓存块的超时阈值,用户可根据需求灵活地权衡系统延迟和吞吐量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值