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

PySpark无法创建SparkSession(Java网关错误)求助

解决Windows下PySpark 2.3.3创建SparkSession时Java网关进程退出的问题

针对你遇到的Exception: Java gateway process exited before sending its port number错误,我整理了几个Windows环境下的可行排查和解决步骤:

1. 校验环境变量的准确性

Windows环境下PySpark对环境变量的路径非常敏感,务必确认以下几点:

  • JAVA_HOME必须指向JDK根目录:比如你的Java安装在C:/Java,要确保这个目录下的bin子文件夹里有javac.exe(仅JRE会导致Spark启动失败)。建议把JAVA_HOME设为C:/Java/jdk1.8.0_201(如果你的JDK是这个子目录的话)。
  • SPARK_HOME指向Spark根目录:确认路径是C:\spark-2.3.3-bin-hadoop2.7,路径中不要包含空格或特殊字符。
  • PATH优先级调整:把%JAVA_HOME%\bin、%SPARK_HOME%\bin放到系统PATH的最顶端,避免系统中其他版本的Java或工具干扰。
  • 验证:打开命令提示符,执行java -version和javac -version,两者都要显示1.8.0_201,确保javac命令能正常执行(这是JDK的标志)。

2. 查看Spark日志定位具体错误

自动启动失败时,Spark会生成详细日志,你可以通过日志找到根本原因:

  • 日志路径:C:\spark-2.3.3-bin-hadoop2.7\logs
  • 找到最新的以spark-<你的用户名>-org.apache.spark.deploy.SparkSubmit-1开头的日志文件,查看里面的报错信息,常见问题比如Hadoop依赖缺失、权限不足等。

3. 补充Windows专属的Hadoop依赖文件

Spark 2.3.x依赖Hadoop组件,预构建版本虽然自带Hadoop,但Windows系统需要额外的winutils.exe和hadoop.dll:

  • 创建目录C:\hadoop\bin
  • 下载对应Hadoop 2.7版本的winutils.exe和hadoop.dll放到这个目录(必须和Spark绑定的Hadoop版本一致)
  • 添加系统环境变量HADOOP_HOME,值为C:\hadoop
  • 把%HADOOP_HOME%\bin添加到系统PATH中

4. 确认Python版本兼容性

PySpark 2.3.3仅支持Python 2.7、3.4、3.5、3.6版本,如果你的Python是3.7及以上版本,大概率会出现兼容性问题。可以通过命令python --version查看当前版本,必要时切换到符合要求的Python版本。

5. 手动启动Java网关并指定端口

自动启动网关失败时,尝试手动启动并指定端口:

  1. 打开命令提示符,进入Spark的bin目录:
    cd C:\spark-2.3.3-bin-hadoop2.7\bin
    
  2. 执行启动命令:
    spark-submit --master local --class org.apache.spark.deploy.SparkSubmit --conf spark.driver.port=4040 --conf spark.blockManager.port=4041
    
  3. 在Python代码中指定网关端口:
    from pyspark.sql import SparkSession
    import os
    
    os.environ["PYSPARK_GATEWAY_PORT"] = "4040"
    spark = SparkSession.builder.appName("Hello").master("local").getOrCreate()
    

6. 排查防火墙/杀毒软件干扰

Windows防火墙或第三方杀毒软件可能会阻止Java网关的端口通信,建议临时关闭防火墙和杀毒软件,再尝试创建SparkSession,确认是否是这个原因导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:55:06