You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flink Cluster 1.13.1流作业出现Lost leadership报错如何解决

你遇到的报错本质是TaskExecutor检测到对应作业的JobMaster节点丢失了ZooKeeper领导权,触发了集群主备切换,作业会进入故障恢复流程,恢复耗时过长就会导致处理时效延迟。每月固定发生一次通常和集群周期性运维动作、资源波动有关,可按照以下方向排查修复:

排查方向

  • 排查ZooKeeper集群状态与配置
    首先对齐故障发生时间,确认ZooKeeper集群是否存在每月固定的快照清理、节点重启、磁盘巡检等运维动作,这类操作会导致ZK集群短时间响应变慢,触发Flink侧会话断连。其次检查flink-conf.yaml中high-availability.zookeeper.client.session-timeout配置,默认值仅为60s,若ZK集群本身网络延迟或IO抖动较高,很容易超过会话超时阈值,触发领导权丢失。
  • 排查JobManager节点运行状态
    拉取故障时间点JobManager所在节点的CPU、内存、磁盘IO、网络监控,确认是否存在CPU打满、长时间FullGC停顿、内存OOM、网络丢包的情况。Flink 1.13版本若JobManager堆内存配置不足,或者Session集群托管作业数量过多,很容易出现秒级GC停顿,超过ZK会话超时时间就会丢失领导权。
  • 排查集群层面周期性操作
    确认集群是否有每月固定的节点安全补丁更新、机房网络割接、资源规整等操作,这类操作如果导致JobManager节点短时间不可达,也会触发该问题。

修复方案

  • 优化ZooKeeper交互配置
    将high-availability.zookeeper.client.session-timeout调整为90s~120s,注意同步修改ZooKeeper集群的maxSessionTimeout配置(ZK默认最大会话超时为40s,必须大于Flink侧配置才会生效)。同时增加重试机制,配置high-availability.zookeeper.client.max-retries为5,high-availability.zookeeper.client.retry-wait为2s,降低临时网络波动的影响。
  • 优化JobManager资源与GC配置
    Session集群的JobManager堆内存建议至少配置8G以上,Per-Job/Application模式根据作业复杂度配置2G~4G堆内存。同时给JobManager添加G1回收器JVM参数:-XX:+UseG1GC -XX:MaxGCPauseMillis=200,降低GC停顿时长,避免超过ZK会话超时阈值。
  • 加快作业故障恢复速度
    开启作业增量Checkpoint,合理调整Checkpoint间隔,配置execution.savepoint-restore-mode为CLAIM,就算触发主备切换也能大幅减少作业恢复时间,避免错过处理时效。
  • 升级Flink小版本
    可将当前1.13.1版本升级到1.13.6终版,该版本修复了多个JobManager与ZK交互的内存泄漏、会话异常断连的已知Bug,能大幅降低该问题的发生概率。

内容的提问来源于stack exchange,提问作者Mehul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 06:15:08