首页 > 其他分享 >flink jobmanager 终止,任务失败问题

flink jobmanager 终止,任务失败问题

时间:2024-10-18 12:01:13浏览次数:6  
标签:flink jobmanager yarn jm 任务 tm 终止 超时

flink jobmanager 终止任务失败问题

现象

用户 flink 任务提交客户端侧抛出请求错误,经排查发现是客户端主动 cancle 的.接着排查 yarn app 日志,发现本质错误是 jm 退出了,接着看 jm 日志,jm 退出是由于失去了 leadership 导致的

企业微信截图_16636780051940.png

排查过程

了解背景发现,用户有 flink ha任务,也有非 ha 任务, ha 使用的是基于 zookeeper 的实现

ha 任务是由于 jm 与选主的 zk 间的session 超时,导致jm 失去 leader

非 ha 任务是由于 jm 与 tm 间的心跳超时,jm 将 tm 置为 failed 状态,且没有配置 Restart Strategy

超时优化措施:
1.优化超时任务的 gc,通过 jstat 命令可以看到 tm jvm 的 old 分区占比 在 85 以上,
建议增大 flink 的 tm 内存参数 :
-D taskmanager.memory.task.heap.size
-D taskmanager.memory.managed.size
-D taskmanager.memory.task.off-heap.size
在原来值的基础上增大 50%
2.优化超时任务的超时时间
增加 zk server ticktime (已经调整)
增加 jm 和 tm 的心跳超时时间 heartbeat.timeout = 180000

解决办法

  1. 把 基于 ZooKeeper 的 HA 实现 改成 Flink on YARN 模式下的高可用,这样利用 yarn 自动拉起失败的 jobmanager 来解决实现任务的高可用
  2. 通过提交平台侧来实现任务的高可用,既让任务快速失败,然后通过平台侧的检测来重新提交来实现,需要配置如下参数,关闭 yarn 的自动拉起机制,从而让任务快速失败,被平台侧检测到,发起重新提交
yarn.application-attempts: 1
yarn.application-attempt-failures-validity-interval: -1

ZooKeeper参数调优 - skyl夜 - 博客园 (cnblogs.com)
Flink JobManager 高可用详解 - 白墨的博客 | Ink's Blog (baixin.ink)

标签:flink,jobmanager,yarn,jm,任务,tm,终止,超时
From: https://www.cnblogs.com/hdpdriver/p/18473976

相关文章

  • flink同步MySQL数据的时候出现内存溢出
    flink同步MySQL数据的时候出现内存溢出背景:需要将1000w的某类型数据同步到别的数据源里面,使用公司的大数据平台可以很快处理完毕,而且使用的内存只有很少很少量(公司的大数据平台的底层是flink,但是连接器使用的是chunjun开源产品),由于我个人想使用flink原生的连接器来尝试一下,所......
  • Flink_基础架构信息
    几个重要的特新1、Checkpoint,这个机制保证了Flink分布式的语义一致2、有关Flink分布式,流处理的话题似乎在大数据的领域中,做离线数据处理是很平常的事情流、批处理很适合这种生产环境批处理的特点是有界、持久、大量,批处理非常适合需要访问全套记录才能完成的计......
  • flink中窗口和水位线-基于DataStream API
    文章目录前言Watermark的代码Window的代码实践前言在之前的文章中,有在FllinkSQL来实现窗口和水位线—flink中水位线和窗口的工作原理,这次使用DataStreamAPI的方式来实现窗口和水位线,主要代码来自尚硅谷的课件资料。Watermark的代码1.WatermarkStrategy.forBoun......
  • [数据集成/数据同步] 基于数据库增量日志的数据同步方案 : Flink CDC/Debezium/DataX/
    1概述简述:CDC/增量数据同步CDC的全称是ChangeDataCapture(增量数据捕获)在广义的概念上,只要能捕获数据变更的技术,我们都可以称为CDC。我们目前通常描述的CDC技术主要面向数据库的变更,是一种用于捕获数据库中数据变更的技术。CDC的技术实现方案基于查询......
  • 从0-1入门Flink全网最全吐血总结
    Flink是Apache基金会旗下的一个开源大数据处理框架。目前,Flink已经成为各大公司大数据实时处理的发力重点,特别是国内以阿里为代表的一众互联网大厂都在全力投入,为Flink社区贡献了大量源码。如今Flink已被很多人认为是大数据实时处理的方向和未来,许多公司也都在招聘和......
  • Flink知识体系保姆级总结
    Flink涉及的知识点如下图所示,本文将逐一讲解:本文档参考了 Flink的官网及其他众多资料整理而成,为了整洁的排版及舒适的阅读,对于模糊不清晰的图片及黑白图片进行重新绘制成了高清彩图。一、Flink简介1.Flink发展这几年大数据的飞速发展,出现了很多热门的开源社区,其中......
  • 【Flink】基于 Flink 的流式数据实时去重
    【Flink】基于Flink的流式数据实时去重-腾讯云开发者社区-腾讯云https://cloud.tencent.com/developer/article/1707045我们不能将状态仅交由内存管理,因为内存的容量是有限制的,当状态数据稍微大一些时,就会出现内存不够的问题。由于Flink本身提供了有状态的计算,并且封装了一......
  • 【Flink 系列二十三】hudi 消失的 HIVE_CONF_DIR,HIVE 读不到 hive-site.xml 读不到
    问题现象Unabletofindconfigfilehive-site.xmlUnabletofindconfigfilehivemetastore-site.xmlUnabletofindconfigfilemetastore-site.xml本文记录这个问题是如何导致的,并记录如何向Hive、Hudi提供hive-site.xml以便正确加载。问题分析:HiveMetaStore是......
  • 【Flink系列十八】Hudi hive_sync JDO报错 Could not find API definition for name "
    问题现象Error:CouldnotfindAPIdefinitionforname"JDO".Perhapsyoudonthavetherequisitedatanucleus-api-XXXjarintheCLASSPATH?2024-10-1011:12:31,251ERRORDataNucleus.Persistence[]-Error:Co......
  • C++编译并运行后出现Process finished with exit code 139 (interrupted by signal 11
    问题描述:        代码运行意外终止,报错信息为Processfinishedwithexitcode139(interruptedbysignal11:SIGSEGV)CMakeList文件如下:cmake_minimum_required(VERSION3.26)project(SLAM)set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_STANDARD_REQUIRED......