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

Flink Operator Kubernetes HA异常排查:多JobManager故障后无法恢复

1. 检查JobManager Leader选举状态

  • 查看JobManager Pod日志,搜索LeaderElectionService相关内容,确认是否有新Leader成功当选的记录,例如:Successfully elected leader: akka.tcp://flink@<jm-pod-ip>:6123/user/jobmanager_1
  • 执行命令查看JobManager Pod状态,确认故障Pod被删除后新Pod是否正常启动并进入Running状态:
    kubectl get pods -l app=flink,component=jobmanager
    

2. 检查HA存储目录内容

  • 进入任意运行中的JobManager Pod,查看HA存储目录/mnt/flink/recovery的文件结构:
    kubectl exec -it <jobmanager-pod-name> -- ls -l /mnt/flink/recovery
    
    正常状态下该目录应包含leader、checkpoints等子目录,leader目录下会有记录当前Leader信息的文件,比如job_manager_lock、resource_manager_lock

3. 验证TaskManager连接状态

  • 查看TaskManager Pod日志,确认是否出现成功连接新Leader的日志,例如:Successfully connected to ResourceManager akka.tcp://flink@<new-jm-ip>:6123/user/rpc/resourcemanager_1
  • 执行命令查看TaskManager重启次数,正常HA场景下TaskManager不应无限重启:
    kubectl get pods -l app=flink,component=taskmanager
    

4. 检查JobManager Service关联状态

  • 查看Flink JobManager对应的Service(通常命名为<cluster-id>-jobmanager),确认其Endpoints是否指向当前活跃的Leader JobManager Pod:
    kubectl describe svc flink-operator-poc-jobmanager
    
    检查输出中的Endpoints字段,应显示当前运行中JM Pod的IP和端口

5. 手动触发Leader切换验证

  • 主动删除当前Leader JobManager Pod:
    kubectl delete pod <leader-jm-pod-name>
    
  • 观察以下指标确认HA正常:
    • 新JobManager Pod在短时间内启动并完成Leader选举
    • TaskManager自动重新连接新Leader,不再出现Could not resolve ResourceManger address类报错
    • Flink UI在Leader选举完成后(通常几秒到几十秒)恢复正常访问,不再显示Service temporarily unavailable due to ongoing leader election

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 16:05:12