flink的savepoints和checkpoints以及state Query(暂时无法全部完成)
下面表格来自[18]
维度 | Checkpoints | Savepoints |
---|---|---|
目标 | 任务失败的恢复/故障转移机制 | 手动备份/重启/恢复任务 |
实现 | 轻量快速 | 注重可移植性,成本较高 |
生命周期 | Flink自身控制 | 用户手动控制 |
下面的这些名词还没有搞懂:
Retained Checkpoints
Unaligned checkpoints
-------------------------------下面是check point-state query具体实验----------------------------------------------------------------
下面尝试做个checkpoint实验相关的state query[9],
[9]其实来自官方文档
代码链接
步骤 | 内容 |
① |
确保集群各个节点的$FLINK_HOME/lib下面有 flink-queryable-state-runtime_2.11-1.12-SNAPSHOT.jar 确保集群各个节点的$FLINK_HOME/conf/flink-conf.yaml中添加 queryable-state.enable: true |
② |
启动的集群 Hadoop(hdfs保存flink的state),Zookeeper,Flink(Standalone模式) |
③ |
mvn clean mvn package 运行WordCount.java 此时应当会在Flink WEB UI的Task Managers的stdOut中看到输出结果. |
④ |
master:8085中的job id拷贝到QueryState.java中 |
⑤ |
mvn clean mvn package 运行QueryState.java |
上述实验最终以失败告终,无法输出被查询的state(有没有报错).
Query state的原理是这样的(如下图):
QueryableStateClient与QueryableStateClientProxy通信,
QueryableStateClientProxy与QueryableStateServer通信后获取State内容然后返回给QueryableStateClient
-------------------------------下面是savepoint和checkpoint具体实验----------------------------------------------------------------
savepoint实验见[21][22]
checkpoint实验见[23](包含自动重启策略设置)
---------------------------------------关于flink sql的checkpoint-----------------------------------------------------------------------------------
flink sql的checkpoint只能是在被嵌入某个Class/Object中,
然后编译运行的时候,checkpoint/savepoint才能被使用,流程与上面的一致.
--------------------------------------------------------------------------------------------------------------------------------------------
总结:
目前Query State实验和incremental checkpoint实验都处于失败状态
Reference(还差[5][16]没看完):
[1]Flink中案例学习--State与CheckPoint理解(例子残缺不完整)
[2]Flink状态流处理:State Backends三种方式详解(无代码)
[3]Flink —— StateBackend 状态后端(代码不能体现check point的效果)
[4]三种State Backends | 你该用哪个?(没有代码)
[5]Flink State状态以及Checkpoint机制(一)(含有具体例子)
[6]秒懂Flink状态State-深度解读(上)『建议收藏』(对官方文档的翻译)
[7]五、flink--state状态管理机制(对官方文档的翻译)
[8]Flink可查询状态Queryable State:替换你的数据库(没啥用)
[9]Flink读取state的状态(这个例子来自官方文档,实验失败)
[10]Flink State的两张图(没啥用)
[12]Flink的State概述(没啥用)
[13][Flink State] State究竟保存在哪里?(已经阅读)
[14]数据处理能力相差 2.4 倍?Flink 使用 RocksDB 和 Gemini 的性能对比实验(已经阅读)
[15]Checkpointing(官方文档,讲解flink-conf.yaml中的配置与代码中的配置,只是一些配置选项,没有具体实验
)
[16]Working with State(官方文档,需要重点攻破)
[17]Flink的RocksDBStateBackend一些使用经验
[11]Flink 有状态的流的工作(Working with state)(简书官方在审核)
[18]【译】Flink - Savepoint vs Checkpoint
[19]flink Savepoint 和 Checkpoint 使用(不是太详细)
[20]使用Flink的Savepoint功能
[21]flink的savepoint实验-java
[22]flink的savepoint实验-scala
[23]flink的checkpoint实验-scala版本
flink的savepoints和checkpoints以及state Query(暂时无法全部完成)相关推荐
- Flink 容错机制:Checkpoints、Savepoints
文章目录 Checkpoints(检查点) 恢复流程 生成策略 Savepoints(保存点) Checkpoints(检查点) Flink中基于异步轻量级的分布式快照技术提供了Checkpoints ...
- Flink之状态之状态存储 state backends
流计算中可能有各种方式来保存状态: 窗口操作 使用 了KV操作的函数 继承了CheckpointedFunction的函数 当开始做checkpointing的时候,状态会被持久化到checkpoin ...
- Flink:四大基石[Time,Window,Checkpoint,State]
Time 与 Window Time: 在 Flink 的流式处理中,会涉及到时间的不同概念,如下图所示: Event Time:是事件创建的时间.它通常由事件中的时间戳描述,例如采集的日志数据中,每 ...
- Flink状态后端配置(设置State Backend)
Flink提供不同的状态后端(state backends)来区分状态的存储方式和存储位置.flink状态可以存储在java堆内存内或者内存之外.通过状态后端的设置,flink允许应用保持大容量的状态 ...
- 【Flink】Flink RocksDB内存占用一直增大 state.backend.rocksdb.memory.managed
文章目录 1.概述 本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载. 1.概述 有人遇到过RocksDB内存占用一直增大的情况吗?flink-1.13.1 ...
- Flink状态管理与CheckPoint、Savepoint
转载自:https://blog.csdn.net/hxcaifly/article/details/84673292 https://blog.csdn.net/rlnLo2pNEfx9c/ ...
- 【推荐实践】Flink 状态(State)管理在推荐场景中的应用
导语 Flink 提供了灵活丰富的状态管理,可轻松解决数据之间的关联性.本文介绍了Flink 状态(State)管理在推荐场景中的应用,大家结合自己的应用场景与业务逻辑,选择合适的状态管理. 背景 F ...
- 【大数据】带你理解flink的state概念
文章目录 一.概述 1.简介 2. State backend 2.1.MemoryStateBackend 2.2.FsStatebackend: 2.3. RocksDBStateBackend ...
- Flink的State详解(1)
State概念解析 State是一个接口,不同类型的分区状态必须实现的接口,State只能应用于KeyedStream的函数访问.key是由系统自动提供的,因此函数总是看到映射到当前元素的键的值.这样 ...
最新文章
- 图像分类和目标检测技术有什么区别?
- 推荐6个HTML5编辑器
- Android studio 签名使用转
- (视频+图文)机器学习入门系列-第9章 集成学习
- SecureCRT 遇到一个致命的错误且必须关闭
- leetcode 463. 岛屿的周长
- ap计算机科学a买什么书,准备AP*计算机科学A考试-第1部分
- CentOS7的安装和配置
- 对接生态:Logstash 接入日志服务
- 完美手柄震动效果-xbox360手柄模拟器下载
- 转贴:Objective-C Tutorial
- 于的繁体字有几种写法_于的繁体字是什么
- Java,设计,功能权限和数据权限,用户、角色、权限和用户组
- 未来的计算机也无法突破冯诺依曼结构,冯诺依曼计算机的基本原理
- for 和 for...in 和 for...of
- TensorFlow 、Caffe等9大人工智能框架对比介绍
- 在 Chrome 中清除、启用和管理 Cookie
- intrins.h 简介
- 《匆匆那年》的你,还记得吗?数学中的那些有(hui)趣(se)的定理(13)——绝妙定理
- 面试自我介绍的两个通用模板