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

MacBook与OpenShift集群间Spark Driver-Executor通信故障求助

Spark Driver(MacBook Jupyter)对接OpenShift Executor任务循环失败排查思路

问题背景

Spark Driver部署在MacBook的Jupyter Notebook(PySpark),通过VPN连接OpenShift Kubernetes集群,Executor计划在集群内运行。已成功创建Spark Session,但任务执行失败并陷入循环;同一代码在OpenShift集群内运行正常,推测核心问题为Driver与Executor间的网络通信通道未建立。

核心排查方向及步骤

一、Driver侧网络连通性验证(优先排查)

  • 防火墙端口放行:
    • 检查MacBook防火墙设置,确保配置的spark.driver.port=29413以及Spark BlockManager端口(默认随机,可通过spark.driver.blockManagerPort固定)允许OpenShift集群VPN网段的入站连接。
    • 本地执行nc -l 29413监听端口,在OpenShift集群内启动测试Pod(如busybox),执行nc <Driver的VPN IP> 29413,验证端口是否可连通。
  • Driver IP准确性:
    • 日志显示hostname resolves to 127.0.0.1; using 10.0.0.35,但代码中socket.gethostbyname(socket.gethostname())获取的可能是本地局域网IP,而非VPN分配的集群可达IP。
    • 执行ifconfig(macOS)查看VPN接口IP,手动设置spark.driver.host为该IP,而非自动解析的主机名IP;同时验证OpenShift集群内能否Ping通该VPN IP,若不通需排查VPN路由配置。

二、Spark配置参数校验

  • 端口绑定与暴露:
    • 确认spark.driver.bindAddress=0.0.0.0生效,确保Driver监听所有网卡,而非仅本地回环地址。
    • 建议固定BlockManager端口(如添加spark.driver.blockManagerPort=29414),并同步在防火墙放行该端口,避免临时随机端口被拦截。
  • Kubernetes配置检查:
    • 核对spark.kubernetes.executor.podTemplateFile中的Pod网络策略,确保允许Executor主动发起对Driver VPN IP及端口的连接。
    • 确认spark.kubernetes.authenticate.driver.oauthToken的令牌权限足够,能创建Executor Pod并调度到指定的event-driven-pyspark-deenu-macbook调度器。

三、Executor Pod状态与日志分析

  • Pod状态排查:
    • 用oc get pods或OpenShift控制台查看Executor Pod状态:若处于Pending,检查调度器是否存在、集群资源是否充足、Pod模板镜像拉取是否正常;若处于Running后快速退出,需进一步查看Pod日志。
    • 查看Executor Pod日志(oc logs <executor-pod-name>),重点关注是否有Cannot connect to driver <IP>:<port>类报错,此类信息可直接定位网络不通或配置错误。
  • 日志异常点解读:
    日志中Asked to remove non-existent executor 5说明Driver尝试管理一个未成功回连的Executor,Executor启动后无法与Driver建立通信,被Driver标记为丢失,进而触发重新创建,形成循环。

四、VPN网络细节排查

  • 隧道模式确认:检查VPN是否为全隧道模式,若为拆分隧道,需确认OpenShift集群网段已纳入VPN路由范围,否则Executor无法访问Driver的VPN IP。
  • NAT配置检查:部分VPN会对客户端IP做NAT,此时spark.driver.host需设置为NAT后的集群可达IP,而非本地VPN接口IP。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 21:30:54