IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Checkpoints -> 正文阅读

[大数据]Checkpoints

检查点机制

Fink中基于异步轻量级的分布式快照技术提供了Checkpoints容错机制,分布式快照可以将同一时间点Task/Operator的状态数据全局统一快照处理。
Flink会在输入的数据集上间歇性地生成checkpoint barrier,通过barrier将间隔时间段内的数据划分到相应的checkpoint中,当应用出现异常时,Operator就能够从上一次快照中恢复所有算子之前的状态,从而保证一致性。
对于状态占用空间较小的应用,快照产生过程非常轻量,高频率创建且对flink任务性能影响相对较小。checkpoint过程中状态数据一般被保存在一个可配置的环境中,通常在JobManager节点或者hdfs上
检查点默认是不开启的

checkpoint开启和时间间隔指定

checkpoint开启和时间间隔指定(根据实际情况选择,状态较大,建议适当增加n的值)

env.enableCheckpointing(1000);

exactly-once和at-least-once语义的选择

默认是使用exactly-ance
exactly-ance:保证整个应用内端到端的数据一致性,这种适合数据要求较高,不允许出现丢数据或者数据重复,同时这种情况flink的性能也相对较弱
at-least-once:适合于延时和吞吐量非常高但对数据的一致性要求不高的场景。

env.getCheckpointConfig().setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE);

Checkpoint超时时间

超时时间指定了checkpoint执行过程中的上限时间范围,一但checkpoint执行时间超过阈值,flink会中断checkpoint过程,并按超时处理(默认时间是10min)。

env.getCheckpointConfig().setCheckpointingTimeout(60000);

检查点之间的最小时间间隔

防止出现状态数据过大导致checkpoint执行时间过长,从而导致checkpoint积压过多,最终flink密集的触发checkpoint操作,占用大量计算资源而影响整个应用的性能。

env.getCheckpointConfig().setMinPauseBetweenCheckpoints(500);

最大并行执行的检查点数量

设定能够最大同时执行的Checkpoint数量。默认情况下只有一个,根据用户指定的数量可以同时触发多个checkpoint,进而提升checkpoint整体效率。

env.getCheckpointConfig().setMaxConcurrentCheckpoints(1);

外部检查点

设置周期性的外部检查点,然后将状态数据持久化到外部系统中,这种方式不会在任务正常停止的过程中清理掉检查点,而是一直保存到外部系统介质中,而且可以通过外部检查点中对任务进行恢复。

env.getCheckpointConfig().enableExternalizedCheckpoints(ExternalizedCheckpointCleanup.RETIN_ON_CANCELLATION);

failOnCheckpointingErrors

failOnCheckpointingErrors参数决定了当Checkpoint执行过程中如果出现失败或者错误时,任务是否关闭默认是true。

env.getCheckpointConfig().setfailOnCheckpointingErrors(false);
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:46:17  更:2022-02-09 20:48:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:38:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码