当前位置: 首页 > wzjs >正文

网站建设公司源码 aspseo课程培训班

网站建设公司源码 asp,seo课程培训班,中国网络技术有限公司,小制作简单又漂亮之前做过数据平台,对于实时数据采集,使用了Flink。现在想想,在数据开发平台中,Flink的身影几乎无处不在,由于之前是边用边学,总体有点混乱,借此空隙,整理一下Flink的内容&#xff0c…

之前做过数据平台,对于实时数据采集,使用了Flink。现在想想,在数据开发平台中,Flink的身影几乎无处不在,由于之前是边用边学,总体有点混乱,借此空隙,整理一下Flink的内容,算是一个知识积累,同时也分享给大家。

注意由于框架不同版本改造会有些使用的不同,因此本次系列中使用基本框架是 Flink-1.19.x,Flink支持多种语言,这里的所有代码都是使用java,JDK版本使用的是19
代码参考:https://github.com/forever1986/flink-study.git

目录

  • 1 保存点(Savepoints )
  • 2 检查点(Checkpoints)和保存点(Savepoints )的区别
  • 3 功能和限制
  • 4 保存点(Savepoints )演示
    • 4.1 启动standalone集群
    • 4.2 编写代码
    • 4.3 编译和打包
    • 4.4 启动netcat
    • 4.5 提交任务
    • 4.6 输入测试数据
    • 4.7 取消任务并记录保存点
    • 4.8 从保存点恢复
    • 4.9 测试结果

上一章讲了 检查点(Checkpoints) ,关于Flink的恢复还有另外一个是 保存点(Savepoints ) 。这一章就来说一下 保存点(Savepoints ) 的内容以及如何从 检查点(Checkpoints)保存点(Savepoints ) 恢复数据

1 保存点(Savepoints )

保存点(Savepoints ) 是依据 Flink 检查点(Checkpoints) 机制所创建的流作业执行状态的一致镜像。 可以使用 **保存点(Savepoints )**进行 Flink 作业的停止与重启、fork 或者更新。 **保存点(Savepoints )**由两部分组成:

  • 稳定存储:例如 HDFS,S3等,包含二进制文件的目录(通常很大),和元数据文件(相对较小)。 稳定存储上的文件表示作业执行状态的数据镜像。
  • 元数据文件:以(相对路径)的形式包含(主要)指向作为 Savepoint 一部分的稳定存储上的所有文件的指针。

2 检查点(Checkpoints)和保存点(Savepoints )的区别

从概念上讲,Flink 的 检查点(Checkpoints)保存点(Savepoints ) 的不同之处类似于传统数据库系统中的备份与恢复日志之间的差异。
检查点(Checkpoints) 的主要目的是为意外失败的作业提供恢复机制。 检查点(Checkpoints) 的生命周期 由 Flink 管理, 即 Flink 创建,管理和删除 checkpoint - 无需用户交互。 由于 检查点(Checkpoints) 被动触发,且被用于作业恢复,所以 检查点(Checkpoints) 的实现有两个设计目标:i)轻量级创建 ii)尽可能快地恢复。 可能会利用某些特定的属性来达到这个目标,因此会被一些内容所限制。
保存点(Savepoints ) 内部使用与 检查点(Checkpoints) 相同的机制创建,但它们在概念上有所不同,并且生成和恢复的成本可能会更高一些。 保存点(Savepoints ) 的设计更侧重于可移植性和操作灵活性,尤其是在 job 变更方面。 保存点(Savepoints ) 的用例是针对计划中的、手动的运维。例如,可能是更新 Flink 版本,更改你的作业图等等。

总结一下区别:

\检查点(Checkpoints)保存点(Savepoints )
触发方式被动主动
生命周期管理Flink管理用户自己管理
作用主要用于故障恢复主要用于保存或移植
兼容性

3 功能和限制

下表概述了各种情况进行恢复时, 检查点(Checkpoints)保存点(Savepoints ) 的功能和限制。

✓ - Flink 完全支持这种类型的快照
x - Flink 不支持这种类型的快照
! - 虽然这些操作目前有效,但 Flink 并未正式保证对它们的支持,因此它们存在一定程度的风险

\标准 Savepoint原生 Savepoint对齐 Checkpoint非对齐 Checkpoint
更换状态后端xxx
State Processor API (写)xxx
State Processor API (读)!!x
自包含和可移动xx
Schema 变更!!!
任意 job 升级x
非任意 job 升级
Flink 小版本升级x
Flink bug/patch 版本升级
扩缩容

4 保存点(Savepoints )演示

示例说明:以wordcount代码为示例,演示保存点(Savepoints )的保存与恢复。这里利用在《系列之二 - 集群和部署》中部署的standalone集群进行提交任务

4.1 启动standalone集群

./start-cluster.sh

可以看到启动结果
在这里插入图片描述

打开控制台
在这里插入图片描述

4.2 编写代码

1)在lesson12子模块中新增SavepointDemo 类

import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.Collector;public class SavepointDemo {public static void main(String[] args) throws Exception {// 1.创建执行环境StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();// 2.数据处理env.socketTextStream("clickhouse1", 9999).flatMap(new Tokenizer()).keyBy(value -> value.f0).sum(1).print();// 3.执行env.execute();}/*** 自定义切分句子的分词器,遇到空格、标点符合都是切割,并输出的是一个Tuple2*/public static final class Tokenizerimplements FlatMapFunction<String, Tuple2<String, Integer>> {@Overridepublic void flatMap(String value, Collector<Tuple2<String, Integer>> out) {String[] tokens = value.toLowerCase().split("\\W+");for (String token : tokens) {if (!token.isEmpty()) {out.collect(new Tuple2<>(token, 1));}}}}
}

4.3 编译和打包

1)将使用maven打包,得到 lesson12-1.0-SNAPSHOT.jar

在这里插入图片描述

4.4 启动netcat

之前在《系列之二 - 集群和部署》中已经在clickhouse1的机子上安装了netcat,这里直接运行即可

nc -lk 9999

在这里插入图片描述

4.5 提交任务

将打包完成的lesson12-1.0-SNAPSHOT.jar放到准备提交的机器,示例这里是在clickhouse1这台机器上面,这里根据你自己的机器,提交任务

./flink run -d -m clickhouse1:8081 -c com.demo.lesson12.SavepointDemo ./lesson12-1.0-SNAPSHOT.jar

在这里插入图片描述

4.6 输入测试数据

1)在netcat中输入“hello flink”

在这里插入图片描述

2)从控制台可以看到打印结果

在这里插入图片描述

知识点:此时的hello=1次,flink=1次。下次从保存点恢复时,看看这个计数会不会从1次开始累加

4.7 取消任务并记录保存点

1)在控制台可以找到Job任务id

在这里插入图片描述

2)执行取消命令(注意:id是前面得到的任务id,保存点的路径,这里自己定义,示例中就保存在本地路径:/home/linmoo/Downloads/flink-1.19.2/checkpoints 下面):

./flink cancel -s file:///home/linmoo/Downloads/flink-1.19.2/checkpoints bb2727fa5e3792b0c2ee8299997fd538

3)执行结果
在这里插入图片描述

4)查看保存路径/home/linmoo/Downloads/flink-1.19.2/checkpoints是否存储已经保存的保存点

在这里插入图片描述

4.8 从保存点恢复

1)关闭netcat,然后在重新开启
在这里插入图片描述

2)确认保存点的路径,示例这里是:/home/linmoo/Downloads/flink-1.19.2/checkpoints/savepoint-bb2727-a2bd05969a0a

3)执行重新提交任务,这里会通过-s参数传入保存点地址

./flink run -d -m clickhouse1:8081 -s file:///home/linmoo/Downloads/flink-1.19.2/checkpoints/savepoint-bb2727-a2bd05969a0a -c com.demo.lesson12.SavepointDemo ./lesson12-1.0-SNAPSHOT.jar

4)提交结果
在这里插入图片描述

4.9 测试结果

1)在netcat中输入

在这里插入图片描述

2)从控制台看接口,

在这里插入图片描述

知识点:测试netcat输入一次“hello world”和一次“hello flink”
任务的打印的结果是hello累加到3次,flink累加到2次。说明已经从保存点恢复

至此,就演示了如何从 保存点(Savepoints ) 恢复状态数据。检查点的原理是一样的,只需要将路径制定到对应检查点即可,但是请参考前面的《3 功能和限制》,有些情况检查点是无法恢复的。

结语:这一章讲了 保存点(Savepoints ) ,以及演示了如何从 保存点(Savepoints ) 恢复数据。关于 检查点(Checkpoints)保存点(Savepoints ) 就讲完了,下章开始会接触Flink的另外一种API编写方式:SQL方式

http://www.dtcms.com/wzjs/73469.html

相关文章:

  • 东莞高端网站建设权威发布
  • 深圳企业高端网站建设5g站长工具seo综合查询
  • 东莞网站建设中企动力技术支持seo软件系统
  • 韶关住房和城乡建设网站网络推广运营优化
  • 设计网站的软件网络推广方案
  • 网站的首页标题在哪里设置的北京搜索引擎优化管理专员
  • 全国b2c网站建设台州百度关键词排名
  • 别样网图片素材网站淘宝关键词搜索排名
  • 网上商城建设百度笔记排名优化
  • 网站开发导航栏万网查询
  • 常州企业网站建设餐饮营销手段13种手段
  • 做家教网站百度搜索关键词优化方法
  • 国外政府网站建设案例免费的网络推广渠道有哪些
  • 长沙谷歌优化seo推广怎么学
  • 湖南网站营销优化靠谱外贸推广具体是做什么
  • 呼和浩特市城乡建设委员会网站免费网站模板库
  • 宁波网站建设鲤斯设计网红推广接单平台
  • 网站建设公司价格黑客入侵网课
  • 基于mvc的jsp网站开发快速优化关键词排名
  • 商务网站主页设计公司哈尔滨关键词排名工具
  • 培训网页设计吗合肥网站seo公司
  • 网站添加音乐有哪些平台可以免费发广告
  • 网站建设人力资源人员配置大连百度网站排名优化
  • 网站维护和推广方案媒体公关
  • 网站系统维护中企业网站设计模板
  • 房地产网站怎么做免费网络推广网站
  • 临沂公司做网站线上推广公司
  • 不用开源程序怎么做网站网站自助建站系统
  • 企业网站建设需要提供什么内容长尾关键词搜索网站
  • 网站的开发流程有哪几个阶段seo推广优化培训