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

Jupyter Notebook无法连接VirtualBox内多节点Spark集群怎么办

连接失败排查及解决步骤

1 网络连通性校验

  • 先将代码中的MyMasterAddress替换为VirtualBox内Spark主节点的实际IP,不要使用hostname除非本地hosts文件已经配置了对应IP映射
  • 确认VirtualBox的网络配置:若使用NAT模式,需手动配置7077、8080、4040等Spark常用端口的转发规则;若使用桥接模式,需确认主节点与本地计算机处于同一网段
  • 本地终端执行telnet 主节点实际IP 7077测试端口连通性,若连接失败先关闭主节点防火墙,或放行对应端口的入站规则
  • 本地浏览器访问http://主节点实际IP:8080,确认Spark Master WebUI可正常打开

2 集群配置校验

  • 检查Spark主节点conf/spark-env.sh文件,确认SPARK_MASTER_HOST配置的是主节点实际IP,而非127.0.0.1,绑定本地回环地址会导致外部机器无法连接
  • 从Master WebUI页面确认展示的Master URL与代码中填写的spark://xxx:7077完全一致
  • 确认本地Jupyter环境安装的PySpark大版本,与VirtualBox集群的Spark大版本完全匹配,Python大版本也需和集群所有节点的Python版本一致,版本不兼容会直接导致连接失败

3 代码调整

可增加超时、资源限制配置避免初始化失败,参考代码如下:

from pyspark.sql import SparkSession

spark = SparkSession.builder \
.appName("Test") \
.master("spark://替换为实际主节点IP:7077") \
.config("spark.network.timeout", "600s") \
.config("spark.executor.heartbeatInterval", "60s") \
.config("spark.executor.memory", "1g") \
.config("spark.executor.cores", 1) \
.getOrCreate()

4 报错快速定位

  • 若报错Connection refused:优先排查网络、端口、防火墙配置
  • 若报错类不存在、版本不兼容:优先核对本地与集群的Spark、Python版本
  • 若报错任务未分配到资源:检查集群是否有空闲资源,是否有其他运行中的任务占用了全部资源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:09:00