概述

Flink的exactly-once语义实现是需要依赖checkpoint的,对于一个有状态的Flink任务来说如果想要在任务发生failover,或者手动重启任务的时候任务的状态不丢失是必须要开启checkpoint的,今天这篇文章主要分享一下Flink on zeppelin里面怎么设置checkpoint以及怎么从指定的checkpoint恢复任务.

checkpoint配置

%flink.conf
// 设置任务使用的时间属性是eventtime
pipeline.time-characteristic EventTime
// 设置checkpoint的时间间隔
execution.checkpointing.interval 10000
// 确保检查点之间的间隔
execution.checkpointing.min-pause 60000
// 设置checkpoint的超时时间
execution.checkpointing.timeout 60000
// 设置任务取消后保留hdfs上的checkpoint文件
execution.checkpointing.externalized-checkpoint-retention RETAIN_ON_CANCELLATION

只需要像上面这样就可以配置任务的checkpoint了,当然除了配置这些参数外也可以设置任务的jm,tm等参数,Interpreters 设置里面的很多参数(比如下图的这些)都是可以在note里面直接执行的,然后在这个note里面的任务都会使用刚才的配置.

在执行这些配置的时候需要先把Interpreters 重启一下,因为当Interpreters 进程已启动时就无法更改Interpreters 的属性了,否则会遇到下面的报错

java.io.IOException: Can not change interpreter properties when interpreter process has already been launchedat org.apache.zeppelin.interpreter.InterpreterSetting.setInterpreterGroupProperties(InterpreterSetting.java:957)at org.apache.zeppelin.interpreter.ConfInterpreter.interpret(ConfInterpreter.java:73)at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:458)at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:72)at org.apache.zeppelin.scheduler.Job.run(Job.java:172)at org.apache.zeppelin.scheduler.AbstractScheduler.runJob(AbstractScheduler.java:130)at org.apache.zeppelin.scheduler.FIFOScheduler.lambda$runJobInScheduler$0(FIFOScheduler.java:39)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)

创建kafak流表

然后来一个非常简单的聚合查询,为了体现任务是从状态中恢复的,所以我们这里根据name分组计算了一个count(age)的操作

这里我先写入了10条数据,jason和spark都是5条,然后先来看一下HDFS上的checkpoint文件是否生成了.

可以看到此时任务已经完成了4次checkpoint了,这时候把任务cancel掉,然后从上一次成功的checkpoint处恢复任务,也就是第4个checkpoint的地方.

%flink.conf
execution.savepoint.path hdfs://master:9000//flink-rockdb/checkpoints/904d58cbd50821f42f33ffed91989ba0/chk-4

需要指定刚才任务的checkpoint路径,先执行上面的语句,然后再接着执行刚才的那条SQL就可以了.

从上面的图可以很清楚的看到,任务是从第4个checkpoint处恢复计算的,然后再来往kafka中写入10条数据看下结果是否正确.

可以看到结果是正确的,是从刚才的状态里面的值接着计算的,说明任务从checkpoint里面恢复成功了.整个过程是不需要写任何代码的,只需要在note里面执行几行配置就可以了,使用起来还是非常方便的.

这篇文章主要是介绍Flink on zeppelin如何设置任务的checkpoint,以及任务重启的时候怎么从指定的checkpoint位置恢复任务.

推荐阅读

Flink on zeppelin第四弹hive streaming writing

JasonLee,公众号:JasonLee的博客Flink on zeppelin第四弹hive streaming writing

Flink on zeppelin第三弹UDF的使用

JasonLee,公众号:JasonLee的博客Flink on zeppelin第三弹UDF的使用

Flink on zeppelin 实时计算pv,uv结果写入mysql

JasonLee,公众号:JasonLee的博客Flink on zeppelin体验第二弹

Flink on zepplien的安装配置

JasonLee,公众号:JasonLee的博客Flink on zepplien的使用体验

更多spark和flink的内容可以关注下面的公众号

Flink on zeppelin第五弹设置checkpoint相关推荐

  1. Flink on Zeppelin 系列之:Yarn Application 模式支持

    简介:Zeppelin 如何实现并使用 Yarn Application 模式. 作者:章剑锋(简锋) 去年 Flink Forward 在讲 Flink on Zeppelin 这个项目的未来时我们 ...

  2. Flink x Zeppelin ,Hive Streaming 实战解析

    行业解决方案.产品招募中!想赚钱就来传!>>> Flink 1.11 正式发布已经三周了,其中最吸引我的特性就是 Hive Streaming.正巧 Zeppelin-0.9-pre ...

  3. 计算机网络第五弹——运输层

    计算机网络第五弹--运输层 彩蛋 计算机网络谢希仁第七版原版ppt获取方式:公众号后台回复"N3"即可获取. 由于公众号不支持显示LaTeX公式且公众号排版混乱,建议大家关注微信公 ...

  4. 【重装xp系统必然要知道的五个设置】

    使用xp系统的网友们想必都知道,xp系统中有一个系统还原的功能,这个功能能够让网友们轻松的重装系统,不过,网友们在使用这个功能的时候,有几个需要注意的设置一定设置好才行,下面就一起来了解这五个设置吧! ...

  5. 安装Windows XP后的五个设置步骤

    安装Windows XP后的五个设置步骤 安装Windows XP后的五个设置步骤 当你兴冲冲地买来XP的光盘,经过漫长的文件拷贝.Windows识别硬件和初始化系统后,终于进入Windows XP那 ...

  6. Flink on Zeppelin 流计算处理最佳实践

    简介: 欢迎钉钉扫描文章底部二维码进入 EMR Studio 用户交流群 直接和讲师交流讨论~ 点击以下链接直接观看直播回放:https://developer.aliyun.com/live/247 ...

  7. Flink on Zeppelin (4) - 机器学习篇

    今天我来讲下如何在 Zeppelin 里做机器学习.机器学习的重要性我就不多说了,我们直奔主题. Flink 在机器学习这个领域发力较晚,社区版没有一个完整的机器学习算法库可以用,Alink[1]是目 ...

  8. 【Flink】flink sql的并行度怎么单独设置

    1.概述 小记一下,记录flink sql的并行度怎么单独设置

  9. 【Flink】flink并行度与kafka分区(partition)设置

    1.概述 默认: [Flink]FlinkConsumer是如何保证一个partition对应一个thread的 当分区与并行度不一样呢? 2.原理 采用取模运算:平衡 kafka partition ...

最新文章

  1. 关于CSS中表单的一些属性和使用
  2. 根据文件名或文件扩展名获取文件的默认图标
  3. 这些好用的网站,看看你都收藏了没!
  4. linux shell awk next,使用awk的next命令的方法
  5. Ueditor 改造, 为每个用户单独创建上传附件目录,用户只能查看自己上传的附件文件
  6. python flask高级编程之restful_flask-restful使用总结
  7. 小明利用计算机软件绘制函数,2019年人大附中初二下期末模拟数学试题
  8. java 开发环境配置文件_Java 开发环境配置
  9. CentOS6.5 调整 /home 挂载 分区大小
  10. 优先队列重载(理解)
  11. JAVA中抓异常的办法
  12. php滑动门效果,js实现简洁的TAB滑动门效果代码
  13. Axure RP 7.0初学篇01-------安装
  14. 软件测试团队口号及队名,团队口号及霸气队名
  15. ISO15765协议
  16. 基于颜色特征的图像检索(一)
  17. 国考省考申论:归纳概括题,审题,找点,加工,书写,概括举措的案例
  18. 数学实验:Matlab代码 用动画展示一拱摆线的构造过程
  19. classicpython是啥_下列被称为classic python 的是
  20. 在WindowsServer2008中搭建AD域并将Win7加入到域中并设置Win7的桌面壁纸

热门文章

  1. 7-4 查找奥运五环色的位置
  2. TemplateMethod模板方法模式之应用
  3. 【解决】由于现有版本正在使用中,因此无法安装flash player
  4. 2021年电工(初级)考试及电工(初级)复审考试
  5. 解决navicat连接阿里云服务器的mysql报错:1130 . Host 16.8 85 isnot alowed to con nect to this MySQL server
  6. 学习笔记 | 多态案例2-制作饮品
  7. AD学习记录 2021.1.28
  8. java根据名称生成头像_教你用go freetype根据用户昵称生成头像
  9. 蓝叠5模拟器无法打开摄像头,怎么解决
  10. android版本更新怎么回事,微信自动更新怎么回事? 微信7.0.1怎么升级官方安卓版什么时候更新...