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

配置完成仍遇PySpark Java网关进程端口错误,求解决方案

PySpark 启动报错:Java gateway process exited before sending its port number

问题说明

使用PySpark 3.3.1版本,已参考相关Stack Overflow帖子的建议但无效,确认Spark安装是按指定教程完成,仍触发启动报错。

我的配置信息

SparkSession 定义

spark = SparkSession \
    .builder \
    .master('yarn') \
    .appName('ChainAnalysis_v0') \
    .config('spark.jars', 'gs://spark-lib/bigquery/spark-bigquery-latest.jar') \
    .config('spark.executor.cores', '3') \
    .config('spark.executor.memory', '5g') \
    .config("spark.sql.broadcastTimeout", "36000")\
    .getOrCreate()

环境变量配置

os.environ["JAVA_HOME"] = "C:\Program Files\Java\jdk-11.0.16.1"
os.environ["SPARK_HOME"] = 'C:\\Spark'
os.environ["PYSPARK_SUBMIT_ARGS"] = "--master local[3] pyspark-shell"

报错内容

RuntimeError: Java gateway process exited before sending its port number

解决建议

  • 修复Master配置冲突:SparkSession中指定了.master('yarn'),但PYSPARK_SUBMIT_ARGS又设置了--master local[3],两者完全冲突。根据实际场景二选一:本地测试保留local[3]并删除Session中的.master('yarn');YARN集群运行则删除环境变量中的--master local[3]参数。
  • 修正JAVA_HOME路径格式:Windows系统下路径需避免转义问题,将路径改为双反斜杠格式"C:\\Program Files\\Java\\jdk-11.0.16.1",或使用原始字符串r"C:\Program Files\Java\jdk-11.0.16.1",确保Java路径能被正确识别。
  • 查看Spark启动日志定位根因:前往SPARK_HOME/logs目录查看Java网关的启动日志,日志会明确提示失败原因——比如依赖缺失、内存不足、权限受限等。
  • 验证Java权限与兼容性:Spark 3.3.1兼容Java 11,确认Java安装目录无权限限制,运行脚本时尽量使用管理员权限。
  • 排查第三方Jar包问题:暂时移除spark.jars配置,先启动基础SparkSession,确认核心功能正常后再重新添加BigQuery的Jar包,排除Jar包加载异常导致的启动失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 23:25:25