下面表格来自[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(暂时无法全部完成)相关推荐

  1. Flink 容错机制:Checkpoints、Savepoints

    文章目录 Checkpoints(检查点) 恢复流程 生成策略 Savepoints(保存点) Checkpoints(检查点) Flink中基于异步轻量级的分布式快照技术提供了Checkpoints ...

  2. Flink之状态之状态存储 state backends

    流计算中可能有各种方式来保存状态: 窗口操作 使用 了KV操作的函数 继承了CheckpointedFunction的函数 当开始做checkpointing的时候,状态会被持久化到checkpoin ...

  3. Flink:四大基石[Time,Window,Checkpoint,State]

    Time 与 Window Time: 在 Flink 的流式处理中,会涉及到时间的不同概念,如下图所示: Event Time:是事件创建的时间.它通常由事件中的时间戳描述,例如采集的日志数据中,每 ...

  4. Flink状态后端配置(设置State Backend)

    Flink提供不同的状态后端(state backends)来区分状态的存储方式和存储位置.flink状态可以存储在java堆内存内或者内存之外.通过状态后端的设置,flink允许应用保持大容量的状态 ...

  5. 【Flink】Flink RocksDB内存占用一直增大 state.backend.rocksdb.memory.managed

    文章目录 1.概述 本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载. 1.概述 有人遇到过RocksDB内存占用一直增大的情况吗?flink-1.13.1 ...

  6. Flink状态管理与CheckPoint、Savepoint

    转载自:https://blog.csdn.net/hxcaifly/article/details/84673292     https://blog.csdn.net/rlnLo2pNEfx9c/ ...

  7. 【推荐实践】Flink 状态(State)管理在推荐场景中的应用

    导语 Flink 提供了灵活丰富的状态管理,可轻松解决数据之间的关联性.本文介绍了Flink 状态(State)管理在推荐场景中的应用,大家结合自己的应用场景与业务逻辑,选择合适的状态管理. 背景 F ...

  8. 【大数据】带你理解flink的state概念

    文章目录 一.概述 1.简介 2. State backend 2.1.MemoryStateBackend 2.2.FsStatebackend: 2.3. RocksDBStateBackend ...

  9. Flink的State详解(1)

    State概念解析 State是一个接口,不同类型的分区状态必须实现的接口,State只能应用于KeyedStream的函数访问.key是由系统自动提供的,因此函数总是看到映射到当前元素的键的值.这样 ...

最新文章

  1. 图像分类和目标检测技术有什么区别?
  2. 推荐6个HTML5编辑器
  3. Android studio 签名使用转
  4. (视频+图文)机器学习入门系列-第9章 集成学习
  5. SecureCRT 遇到一个致命的错误且必须关闭
  6. leetcode 463. 岛屿的周长
  7. ap计算机科学a买什么书,准备AP*计算机科学A考试-第1部分
  8. CentOS7的安装和配置
  9. 对接生态:Logstash 接入日志服务
  10. 完美手柄震动效果-xbox360手柄模拟器下载
  11. 转贴:Objective-C Tutorial
  12. 于的繁体字有几种写法_于的繁体字是什么
  13. Java,设计,功能权限和数据权限,用户、角色、权限和用户组
  14. 未来的计算机也无法突破冯诺依曼结构,冯诺依曼计算机的基本原理
  15. for 和 for...in 和 for...of
  16. TensorFlow 、Caffe等9大人工智能框架对比介绍
  17. 在 Chrome 中清除、启用和管理 Cookie
  18. intrins.h 简介
  19. 《匆匆那年》的你,还记得吗?数学中的那些有(hui)趣(se)的定理(13)——绝妙定理
  20. 面试自我介绍的两个通用模板

热门文章

  1. postman简单接口测试
  2. UTF-8, Unicode, GB2312格式串转换之C语言版
  3. 浏览器记住密码之后,input背景变黄
  4. linux(八)__yum工具
  5. JSP-05- JSP总结
  6. dcnctf-web-wp(部分)
  7. linux lighttpd php,Ubuntu下搭建Lighttpd+PHP+MySQL环境
  8. java统计词频算法_java实现的统计字符算法示例
  9. JQuery中的ID选择器
  10. C++的Android接口---配置NDK