flink使用redis做中间缓存 flink两段提交原理写入redis

本文目录一览:

  • 1、Flink提交任务部署的两种方式
  • 2、Flink之工作原理
  • 3、4.一文搞定:Flink与Kafka之间的精准一次性
  • 4、基于Flink的实时计算平台的构建
  • 5、Flink架构、原理
Flink提交任务部署的两种方式1、长久以来,在YARN集群中部署Flink作业有两种模式,即Session Mode和Per-Job Mode,而在Flink 11版本中,又引入了第三种全新的模式:Application Mode 。本文先回顾两种传统模式的做法与存在的问题 , 再简要介绍Application Mode 。
2、因为我本人所接触的Flink的部署模式都是基于资源管理平台yarn来实现工作的 , 采用的作业提交方式也是通过per-job提交方式进行提交的,所以在本次讲述的过程中,也是以这个内容为蓝本展开讲解 。
3、其中存在两种方式: (1) WAL预写日志: 将计算结果先写入到日志缓存(状态后端/WAL)中,等checkpoint确认完成后一次性写入到sink 。
4、JobManager负责协调Flink application的分布式执行,比如task调度、Checkpoint协调、Failover协调等等 。
5、Flink on YARN支持两种模式,一种是预先在YARN上启动一个long-running的Flink集群,所有的Flink作业都会提交到这个集群中,共享Flink集群资源 。
Flink之工作原理1、flink同时支持两种,flink的网络传输是设计固定的缓存块为单位,用户可以设置缓存块的超时值来决定换存块什么时候进行传输 。数据大于0 进行处理就是流式处理 。如果设置为无限大就是批处理模型 。
2、在JobManager端,会接收到Client提交的JobGraph形式的Flink Job,JobManager会将一个JobGraph转换映射为一个ExecutionGraph , ExecutionGraph是JobGraph的并行表示,也就是实际JobManager调度一个Job在TaskManager上运行的逻辑视图 。
3、Flink检查点的作用就类似于皮筋标记 。数珠子这个类比的关键点是: 对于指定的皮筋而言,珠子的相对位置是确定的; 这让皮筋成为重新计数的参考点 。
4.一文搞定:Flink与Kafka之间的精准一次性这样一旦发生故障,Flink中的FlinkKafkaProduce连接器就i能够按照自己保存的偏移量,自己去Kafka中重新拉取数据,也正是通过这种方式,就能够确保Kafka到Flink之间的精准一次性 。
那么,如果要聊端到端的精准一次性,就要对这个两个“端”字进行拆解,分为输入端与Flink之间的精准一次性,和Flink与输出端之间的精准一次性 。
Flink的 checkpoint机制和故障恢复机制给Flink内部提供了精确一次的保证,需要注意的是,所谓精确一次并不是说精确到每个event只执行一次,而是每个event对状态(计算结果)的影响只有一次 。
flink提供了一个特有的kafka connector去读写kafka topic的数据 。
基于Flink的实时计算平台的构建1、消息队列的数据既是离线数仓的原始数据,也是实时计算的原始数据 , 这样可以保证实时和离线的原始数据是统一的 。
2、Flink程序是由Stream和Transformation这两个基本构建块组成,其中Stream是一个中间结果数据,而Transformation是一个操作,它对一个或多个输入Stream进行计算处理,输出一个或多个结果Stream 。Flink程序被执行的时候,它会被映射为Streaming Dataflow 。
3、Flink在德语中是快速和灵敏的意思 ,用来体现流式数据处理速度快和灵活性强等特点 。
Flink架构、原理在Flink整个软件架构体系中,统一遵循了分层的架构设计理念,在降低系统耦合度的同时,为上层用户构建Flink应用提供了丰富且友好的接口 。
流处理和批处理:Flink 框架支持流处理和批处理两种模式 。这意味着它可以同时处理实时数据流和历史数据集,并且可以无缝地转换数据流和数据批处理 。
【flink使用redis做中间缓存 flink两段提交原理写入redis】理解Flink的容错机制,首先需要了解一下Barrier这个概念:Stream Barrier是Flink分布式Snapshotting中的核心元素,它会作为数据流的记录被同等看待,被插入到数据流中,将数据流中记录的进行分组 , 并沿着数据流的方向向前推进 。

    推荐阅读