美团 Flink 大作业部署问题之新启动作业的 Checkpoint 跨作业文件引用的问题要如何避免

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 美团 Flink 大作业部署问题之新启动作业的 Checkpoint 跨作业文件引用的问题要如何避免

问题一:制作 Checkpoint5 时如何知道 02.sst 和 03.sst 已经上传过了?


制作 Checkpoint5 时如何知道 02.sst 和 03.sst 已经上传过了?


参考回答:

制作 Checkpoint5 时,通过 previous-sst-list 来记录上次成功的 Checkpoint 中所有 SST 文件信息,从而知道 02.sst 和 03.sst 已经上传过了。这个列表帮助实现增量 Checkpoint 的制作。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/671943



问题二:为什么新启动作业的 Checkpoint 可能会引用它所 restore 的 Checkpoint 中的文件?


为什么新启动作业的 Checkpoint 可能会引用它所 restore 的 Checkpoint 中的文件?


参考回答:

新启动作业的 Checkpoint 可能会引用它所 restore 的 Checkpoint 中的文件,因为即使作业重启,也会尝试基于之前恢复的 Checkpoint 进行增量制作,如果恢复的是跨作业实例的 Checkpoint,就会导致文件引用跨作业。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/671945



问题三:如何避免新启动作业的 Checkpoint 跨作业文件引用的问题?


如何避免新启动作业的 Checkpoint 跨作业文件引用的问题?


参考回答:

在恢复 previous-sst-list 之前,判断 restore Checkpoint 所属的作业是否是当前作业。如果不是,则不恢复 previous-sst-list,这样作业启动后的第一个 Checkpoint 就会上传所有文件,之后的 Checkpoint 再基于前面的 Checkpoint 进行增量制作,从而避免跨作业文件引用。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/671946



问题四:Checkpoint metadata 中如何获取到作业 ID?


Checkpoint metadata 中如何获取到作业 ID?


参考回答:

Checkpoint metadata 中本身不包含作业 ID,但可以通过修改 IncrementalRemoteKeyedStateHandle 的实现,增加一个 jobID 字段,并在制作 Checkpoint 时将 ID 字段序列化到 meta 文件中。这样在 restore 时就可以通过解析 meta 文件来获取 Checkpoint 所属的作业 ID。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/671947



问题五:Checkpoint metadata 中文件路径的问题是什么?如何解决?


Checkpoint metadata 中文件路径的问题是什么?如何解决?


参考回答:

Checkpoint metadata 中记录的文件路径是绝对路径,当 Checkpoint 被复制到其他目录时,这些引用会失效。解决方法是将绝对路径换成相对路径,根据 Checkpoint 的 exclusive 目录和文件的相对路径计算出文件的具体位置,从而实现 Checkpoint 的 relocatable。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/671948

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
3月前
|
SQL 存储 API
Flink实践:通过Flink SQL进行SFTP文件的读写操作
虽然 Apache Flink 与 SFTP 之间的直接交互存在一定的限制,但通过一些创造性的方法和技术,我们仍然可以有效地实现对 SFTP 文件的读写操作。这既展现了 Flink 在处理复杂数据场景中的强大能力,也体现了软件工程中常见的问题解决思路——即通过现有工具和一定的间接方法来克服技术障碍。通过这种方式,Flink SQL 成为了处理各种数据源,包括 SFTP 文件,在内的强大工具。
177 15
|
2月前
|
消息中间件 分布式计算 大数据
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
116 0
|
2月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
77 3
|
2月前
|
消息中间件 分布式计算 大数据
大数据-128 - Flink 并行度设置 细节详解 全局、作业、算子、Slot
大数据-128 - Flink 并行度设置 细节详解 全局、作业、算子、Slot
106 0
|
2月前
|
消息中间件 资源调度 大数据
大数据-112 Flink DataStreamAPI 程序输入源 DataSource 基于文件、集合、Kafka连接器
大数据-112 Flink DataStreamAPI 程序输入源 DataSource 基于文件、集合、Kafka连接器
43 0
|
2月前
|
资源调度 分布式计算 大数据
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
103 0
|
4月前
|
关系型数据库 MySQL 数据处理
实时计算 Flink版产品使用问题之mini-cluster模式下,怎么指定checkpoint的时间间隔
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如何从savepoint重新启动作业
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
存储 监控 Serverless
Serverless 应用的监控与调试问题之Flink对于Checkpoint Barrier流动缓慢的问题要如何解决
Serverless 应用的监控与调试问题之Flink对于Checkpoint Barrier流动缓慢的问题要如何解决
|
存储 流计算
Flink Checkpoint所有配置解读
Flink Checkpoint所有配置解读
212 0