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

Windows下Jupyter(Anaconda)运行PySpark时Java网关进程报错求助

解决Windows Anaconda环境中PySpark创建SparkSession时的Java Gateway端口错误

核心问题排查与解决方案

1. 版本不匹配(优先级最高)

你的PySpark版本是3.3.1,但本地安装的Spark核心包是3.1.3,两者版本必须严格一致,否则会引发兼容性问题。

  • 解决方式二选一:
    • 降级PySpark到3.1.3:在Anaconda Prompt中执行 pip install pyspark==3.1.3 --force-reinstall
    • 升级Spark核心包到3.3.1版本,下载对应Hadoop版本的安装包替换现有C:\Spark\spark-3.1.3-bin-hadoop3.2目录

2. Windows平台Hadoop依赖缺失

Windows下运行Spark必须依赖winutils.exe和hadoop.dll,缺失会直接导致Java网关启动失败:

  • 下载对应Hadoop 3.2版本的winutils.exe和hadoop.dll
  • 将winutils.exe放入C:\Spark\spark-3.1.3-bin-hadoop3.2\bin目录
  • 将hadoop.dll放入C:\Windows\System32目录
  • 重启Anaconda和Jupyter Notebook

3. 环境变量生效验证

确保环境变量正确配置并生效,避免Jupyter未读取到配置:

  1. 打开Anaconda Prompt,依次执行以下命令验证输出:
    • echo %JAVA_HOME% → 应输出C:\Java\jdk-11.0.16.1
    • echo %SPARK_HOME% → 应输出C:\Spark\spark-3.1.3-bin-hadoop3.2
    • echo %HADOOP_HOME% → 应与SPARK_HOME输出一致
    • java -version → 应显示JDK 11的版本信息
  2. 检查PATH环境变量是否包含%SPARK_HOME%\bin和%JAVA_HOME%\bin,未添加则手动补充

4. 在Jupyter中显式指定Spark配置

如果环境变量未被Jupyter正确读取,可在代码中显式配置Spark路径:

import pyspark
from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .master("local[*]") \
    .appName("SparkTest") \
    .config("spark.driver.extraClassPath", "C:\\Spark\\spark-3.1.3-bin-hadoop3.2\\jars\\*") \
    .getOrCreate()

5. 查看详细错误日志定位问题

若以上方法无效,查看Java网关的错误日志:

  • 日志文件通常位于C:\Users\<你的用户名>\AppData\Local\Temp目录下,查找包含spark的日志文件,里面会记录网关启动失败的具体原因(如权限不足、依赖缺失等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 12:55:20