带你读《企业级云原生白皮书项目实战》——5.3.3 任务性能(6)

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 带你读《企业级云原生白皮书项目实战》——5.3.3 任务性能(6)

《企业级云原生白皮书项目实战》——第五章 大数据——5.3 实时计算Flink版——5.3.3 任务性能(5): https://developer.aliyun.com/article/1228335


5.3.3.3.2 checkpoint失败解决方案

当Flink的任务出现checkpoint失败的时候,一般不会导致任务直接失败,但是checkpoint的失败会导致用户异常重启的时候无法从最近的checkpoint记录来恢复,会导致任务只能从最初的时间点或者是savepoint来进行恢复,可能会导致下游数据的重复,以及数均延迟增大,所以正常的checkpoint增量生成是flflink任务健康度的体现,如下图是一个checkpoint生成失败的情况

image.png


由上图可以看到,当前该任务是一直存在生成checkpoint失败的情况,Checkpoint 失败大致分为两种情况:Checkpoint Decline 和 Checkpoint Expire,此种情况经过分析后是 Checkpoint Expire的情况。

(1) Checkpoint Expire导致的Checkpoint失败

如果 Checkpoint 做的非常慢,超过了 timeout 还没有完成,则整个 Checkpoint 也会失败。当一个 Checkpoint 由于超时而失败是,会在 jobmanager.log 中看到如下的日志,同时也可以通过作业参数execution.checkpointing.interval 设置做Checkpoint的间隔时间。具体的JM日志可以发现如下Checkpoint 1 of job 78d268e6fbc19411185f7e4868a44178 expired before completing.表示 Chekpoint 1 由于超时而失败,这个时候可以可以看这个日志后面是否有类似下面的日志:

Received late message for now expired checkpoint attempt 1 from 0b60f08bf3793875b59f8d9bc74ce2e1 of job 78d268e6fbc194111c

如果任务开启了debug日志,我们按照下面的日志把 TM 端的 snapshot 分为三个阶段,开始做 snapshot 前,同步阶段,异步阶段:

DEBUGStarting checkpoint (604) CHECKPOINT on task taskNameWithSubtasks (4/4)

这个日志表示 TM 端 barrier 对齐后,准备开始做 Checkpoint。

DEBUG2019-08-06 13:43:02,613 DEBUG org.apache.flflink.runtime.state.AbstractSnapshotStrategy- DefaultOperatorStateBackend snapshot (FsCheckpointStorageLocation{fifileSystem=org.apache.flflink.core.fs.SafetyNetWrapperFileSystem@70442baf, checkpointDirectory=xxxxxxxx, sharedStateDirectory=xxxxxxxx,taskOwnedStateDirectory=xxxxxx, metadataFilePath=xxxxxx, reference=(default), fifileStateSizeThreshold=1024}, synchronous part) in thread Thread[Async callson Source: xxxxxx_source -> Filter (27/70),5,Flink Task Threads] took 0 ms.

上面的日志表示当前这个 backend 的同步阶段完成,共使用了 0 ms。

DEBUGDefaultOperatorStateBackend snapshot (FsCheckpointStorageLocation{fifileSystem=org.apache.flflink.core.fs.SafetyNetWrapperFileSystem@7908affffe, checkpointDirectory=xxxxxx, sharedStateDirectory=xxxxx,taskOwnedStateDirectory=xxxxx, metadataFilePath=xxxxxx, reference=(default), fifileStateSizeThreshold=1024}, asynchronous part) in thread Thread[pool-48-thread14,5,Flink Task Threads] took 369 m

上面的日志表示异步阶段完成,异步阶段使用了 369 ms。

在现有的日志情况下,我们通过上面三个日志,定位 snapshot 是开始晚,同步阶段做的慢,还是异步阶段做的慢,然后再按照情况继续进一步排查flflink任务情况,比如是否任务是否出现反压,任务数据量如何生生成的checkpoint大小等情况。


《企业级云原生白皮书项目实战》——第五章 大数据——5.3 实时计算Flink版——5.3.3 任务性能(7): https://developer.aliyun.com/article/1228333

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
6月前
|
人工智能 关系型数据库 OLAP
光云科技 X AnalyticDB:构建 AI 时代下的云原生企业级数仓
AnalyticDB承载了光云海量数据的实时在线分析,为各个业务线的商家提供了丝滑的数据服务,实时物化视图、租户资源隔离、冷热分离等企业级特性,很好的解决了SaaS场景下的业务痛点,也平衡了成本。同时也基于通义+AnalyticDB研发了企业级智能客服、智能导购等行业解决方案,借助大模型和云计算为商家赋能。
425 17
|
4月前
|
资源调度 Kubernetes 流计算
Flink在B站的大规模云原生实践
本文基于哔哩哔哩资深开发工程师丁国涛在Flink Forward Asia 2024云原生专场的分享,围绕Flink On K8S的实践展开。内容涵盖五个部分:背景介绍、功能及稳定性优化、性能优化、运维优化和未来展望。文章详细分析了从YARN迁移到K8S的优势与挑战,包括资源池统一、环境一致性改进及隔离性提升,并针对镜像优化、Pod异常处理、启动速度优化等问题提出解决方案。此外,还探讨了多机房容灾、负载均衡及潮汐混部等未来发展方向,为Flink云原生化提供了全面的技术参考。
226 9
Flink在B站的大规模云原生实践
|
5月前
|
资源调度 Kubernetes 调度
网易游戏 Flink 云原生实践
本文分享了网易游戏在Flink实时计算领域的资源管理与架构演进经验,从Yarn到K8s云原生,再到混合云的实践历程。文章详细解析了各阶段的技术挑战与解决方案,包括资源隔离、弹性伸缩、自动扩缩容及服务混部等关键能力的实现。通过混合云架构,网易游戏显著提升了资源利用率,降低了30%机器成本,小作业计算成本下降40%,并为未来性能优化、流批一体及智能运维奠定了基础。
253 9
网易游戏 Flink 云原生实践
|
Cloud Native 安全 大数据
云原生与大数据
【8月更文挑战第27天】云原生与大数据
195 5
|
9月前
|
存储 消息中间件 OLAP
Hologres+Flink企业级实时数仓核心能力介绍-2024实时数仓Hologres线上公开课03
本次分享由阿里云产品经理骆撷冬(观秋)主讲,主题为“Hologres+Flink企业级实时数仓核心能力”,是2024实时数仓Hologres线上公开课的第三期。课程详细介绍了Hologres与Flink结合搭建的企业级实时数仓的核心能力,包括解决实时数仓分层问题、基于Flink Catalog的Streaming Warehouse实践,并通过典型客户案例展示了其应用效果。
241 10
Hologres+Flink企业级实时数仓核心能力介绍-2024实时数仓Hologres线上公开课03
|
9月前
|
编解码 弹性计算 大数据
软硬结合助力倚天云原生算力再进化,加速大数据、视频转码上云步伐
本文介绍了云原生算力的进化,重点讨论了倚天710 CPU在大数据和视频转码场景中的应用与优势。倚天710采用ARM架构,通过物理核设计和CIPU加速卡优化,显著提升了高负载下的性能稳定性,并在实际应用中帮助客户实现了20%-40%的性能提升和成本降低。此外,文章还探讨了操作系统、编译器等底层软件的优化,以及如何通过龙蜥社区和阿里云平台支持更多应用场景,助力企业实现高效迁移和性能优化。
|
数据采集 运维 Cloud Native
Flink+Paimon在阿里云大数据云原生运维数仓的实践
构建实时云原生运维数仓以提升大数据集群的运维能力,采用 Flink+Paimon 方案,解决资源审计、拓扑及趋势分析需求。
18691 54
Flink+Paimon在阿里云大数据云原生运维数仓的实践
|
12月前
|
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容器编排
298 3
|
存储 Cloud Native 块存储
EBS深度解析:云原生时代企业级块存储
企业上云的策略,从 Cloud-Hosting 转向 Serverless 架构。块存储作为企业应用上云的核心存储产品,将通过 Serverless 化来加速新的计算范式全面落地。在本话题中,我们将会介绍阿里云块存储企业级能力的创新,深入解析背后的技术细节,分享对未来趋势的判断。
794 0
|
存储 SQL 消息中间件
Hologres+Flink企业级实时数仓核心能力介绍
通过Hologres+Flink构建易用、统一的企业级实时数仓。

热门文章

最新文章