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

EKS部署Flink集群新区域作业提交失败、UI无法访问排查求助

EKS部署Flink集群作业提交失败及UI不可访问排查指南

问题背景

在EKS上搭建K8s集群,部署1个JobManager(JM)、30个TaskManager(TM)、3个Zookeeper节点,使用lyft开源的flinkk8soperator进行集群管理。集群基于Zookeeper开启高可用模式,完全相同的配置在其他区域可正常运行,新搭建区域出现无法提交Flink作业、Flink UI无法访问的异常。

已观测现象

  • Zookeeper初始有少量报错,后续运行正常,日志均输出Processing...
  • JobManager侧报错明显,暂未定位根因
  • Flink operator仅提示无法提交作业
  • TM日志无太多有效信息

核心日志汇总

{"json":{"app_name":"my-app","ns":"flink-cluster","phase":"SubmittingJob"},"level":"info","msg":"Handle state skipped for application, lastSeenError UnknownMethod call failed with status FAILED and message '': Could not find deployments for service my-app","ts":"2021-09-28T15:35:54Z"}
{"json":{"app_name":"my-app","ns":"flink-cluster","phase":"SubmittingJob"},"level":"info","msg":"Handle state skipped for application, lastSeenError UnknownMethod call failed with status FAILED and message '': Could not find deployments for service my-app","ts":"2021-09-28T15:36:24Z"}

2. 单台TaskManager日志

2021-09-28 16:13:02,940 ERROR org.apache.flink.runtime.taskexecutor.TaskExecutor [] - 向ResourceManager注册失败
java.util.concurrent.CompletionException: org.apache.flink.runtime.rpc.exceptions.FencingTokenException: Fencing token未设置:忽略发送到 akka.tcp://flink@100.117.59.33:35805/user/rpc/resourcemanager_0 的消息 RemoteFencedMessage(8bb0ba2f8de9e3fa13b269deba364c70, RemoteRpcInvocation(registerTaskExecutor(TaskExecutorRegistration, Time))),原因是fencing token为null。
后续堆栈日志与原报错一致,最终TM在重试后成功注册ResourceManager,注册ID为78d410e0d100d4712171571f087b6476。

3. JobManager日志

2021-09-28 16:13:30,063 INFO org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] - 正在ResourceManager注册TaskManager,ResourceID为 120.117.67.21:34443-d3dd7f (akka.tcp://flink@120.117.67.21:34443/user/rpc/taskmanager_0)
2021-09-30 15:36:33,455 WARN akka.remote.Remoting [] - 与 [akka.tcp://flink@120.117.78.156:33767] 的关联失败,UID未知。无法隔离未知UID的地址,将屏蔽该地址50ms。
2021-09-30 15:42:25,636 ERROR akka.remote.Remoting [] - 与 [akka.tcp://flink@120.117.79.241:40783](UID [-210531468])的关联不可恢复地失败,隔离该地址。
java.util.concurrent.TimeoutException: 远程系统长时间无响应(超过48.0小时)
at akka.remote.ReliableDeliverySupervisor$$anonfun$idle$1.applyOrElse(Endpoint.scala:387)
~[flink-dist_2.12-1.12.1.jar:1.12.1]

4. Zookeeper日志

日志较长,此处省略全量内容。

排查思路建议

第一优先级:解决operator资源找不到问题

Flink operator日志核心报错为Could not find deployments for service my-app,优先排查三类配置:

  • 核对EKS集群RBAC权限:确认flink operator关联的ServiceAccount是否拥有flink-cluster命名空间下Deployment、Service资源的get/list权限,跨区域部署时极易遗漏RBAC规则配置
  • 核对服务标签匹配关系:确认Flink集群Service对应的selector标签与JM Deployment的标签完全一致,operator通过标签关联服务与对应部署资源
  • 核对集群网络策略:确认是否存在网络策略限制operator访问集群内的Deployment、Service资源

JM、TM日志存在明确的akka RPC通信故障,按以下步骤排查:

  • 验证Pod网络连通性:在TM Pod内手动ping JM的Pod IP、Service IP,测试RPC端口连通性,排除跨可用区网络延迟、安全组限制问题
  • 验证高可用配置一致性:确认high-availability.zookeeper.quorum配置的ZK地址在新区域可正常访问,同时确认high-availability.cluster-id配置正确,Fencing token为空通常是ResourceManager未从ZK获取到正确的主节点令牌,说明高可用主节点选举流程异常
  • 清理ZK残留脏数据:若此前集群有过异常启动记录,ZK上可能残留旧集群元数据,导致新启动的JM无法正常获取主节点权限,可停止Flink集群后删除ZK下对应的集群元数据目录再重启

第三优先级:资源类问题排查

资源类问题概率较低,可作为补充验证项:

  • 检查JM的CPU、内存使用率,确认是否存在JM进程OOM被Kill的情况,OOM会导致RPC无响应触发超时
  • 检查EKS节点的ulimit配置,确认进程最大打开文件数、最大进程数等内核参数与正常区域一致,高并发场景下内核参数限制也会导致RPC通信失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:57:02