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

Win11环境下PySpark会话启动超时,复刻Win10操作无效求助

Windows 11下Anaconda装PySpark会话卡壳的解决办法

1. 先搞定Java环境

PySpark必须依赖Java,Windows 11大概率没配置对版本:

  • 安装Java 8或11(PySpark 3.x只适配这两个版本,别装17及以上)
  • 配置系统环境变量:
    • 添加JAVA_HOME,指向Java安装根目录(比如C:\Program Files\Java\jdk1.8.0_381)
    • 把%JAVA_HOME%\bin加入Path环境变量
  • 验证:打开cmd输入java -version和javac -version,能正常输出版本号就说明配置正确

2. 补全PySpark需要的环境变量

Windows下PySpark得靠winutils模拟Hadoop环境,必须配置:

  • 添加SPARK_HOME:指向你Anaconda环境里PySpark的安装路径(比如C:\Users\你的用户名\anaconda3\envs\你的环境名\Lib\site-packages\pyspark)
  • 添加HADOOP_HOME:指向存放winutils的文件夹(得下载和PySpark匹配的Hadoop版本,比如PySpark 3.3.x对应Hadoop 3.3.x)
  • 把%SPARK_HOME%\bin和%HADOOP_HOME%\bin加到Path
  • 重点:把winutils放到HADOOP_HOME\bin目录,然后打开管理员cmd运行winutils.exe chmod 777 /tmp/hive,给临时目录赋权限

3. 检查Jupyter内核配置

  • 找到内核配置文件:路径一般是C:\Users\你的用户名\AppData\Roaming\jupyter\kernels\你的内核名\kernel.json
  • 确保env字段里的环境变量完全正确,示例如下:
    {
      "argv": [
        "C:\\Users\\你的用户名\\anaconda3\\envs\\你的环境名\\python.exe",
        "-m",
        "ipykernel_launcher",
        "-f",
        "{connection_file}"
      ],
      "display_name": "你的内核名",
      "language": "python",
      "env": {
        "JAVA_HOME": "C:\\Program Files\\Java\\jdk1.8.0_381",
        "SPARK_HOME": "C:\\Users\\你的用户名\\anaconda3\\envs\\你的环境名\\Lib\\site-packages\\pyspark",
        "HADOOP_HOME": "C:\\hadoop-3.3.4",
        "PATH": "%PATH%;%SPARK_HOME%\\bin;%HADOOP_HOME%\\bin"
      }
    }
    

4. 先在终端测试基础运行

  • 激活你的Anaconda环境:conda activate 你的环境名
  • 直接输入pyspark,看能不能进入交互界面,卡壳的话看终端报错日志,定位卡住的环节
  • 也可以写个简单脚本测试:
    import pyspark
    from pyspark.sql import SparkSession
    import logging
    logging.basicConfig(level=logging.INFO)
    
    spark = SparkSession.builder \
        .master("local[*]") \
        .appName("TestSession") \
        .getOrCreate()
    
    print(spark.version)
    spark.stop()
    
    运行脚本查看INFO级日志,确定是Hadoop初始化还是Java连接出了问题

5. 排查Windows 11的权限坑

  • 给Anaconda、Jupyter Notebook开管理员权限运行,右键选择“以管理员身份运行”
  • 手动创建C:\tmp\hive文件夹,然后用winutils赋予权限:winutils.exe chmod 777 C:\tmp\hive
  • 临时关闭Windows Defender或第三方杀毒软件的实时保护,避免其拦截PySpark的进程通信

6. 核对版本兼容性

  • 确认Python版本和PySpark匹配:PySpark 3.3.x支持Python 3.7-3.10,别用3.11及以上版本
  • 试试降级PySpark,比如从最新版降到3.3.2,说不定是新版本和Windows 11存在兼容问题

内容的提问来源于stack exchange,提问作者Pra V Een

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 16:14:52