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

咨询Spark 3.3.1在Windows 10下修改hadoop.dll路径的可行方案

在Windows 10上无需管理员权限配置Spark 3.3.1的hadoop.dll路径

以下是几种无需将hadoop.dll放入C:\Windows\System32即可解决java.lang.UnsatisfiedLinkError错误的方法:

方法1:配置HADOOP_HOME用户环境变量

  • 选择一个你拥有读写权限的本地目录(比如C:\spark-local\hadoop),在该目录下创建bin子文件夹
  • 将下载好的winutils.exe和hadoop.dll同时放入这个bin子文件夹中
  • 打开用户环境变量(无需管理员权限):
    • 新建环境变量HADOOP_HOME,值设为你创建的根目录路径(比如C:\spark-local\hadoop)
    • 编辑PATH变量,添加%HADOOP_HOME%\bin到变量值末尾
  • 重启命令行或IDE,Spark启动时会自动从HADOOP_HOME的bin目录加载所需库文件

方法2:启动Spark时指定库路径参数

  • 如果你不想修改环境变量,可以在启动Spark的命令中直接指定java.library.path:
    • 用spark-shell启动:
      spark-shell --driver-library-path C:\your-dll-directory
      
    • 用spark-submit提交任务:
      spark-submit --driver-library-path C:\your-dll-directory your-spark-app.jar
      
  • 若在代码中初始化SparkSession,也可以提前设置系统属性:
    // 在创建SparkSession前执行
    System.setProperty("java.library.path", "C:/your-dll-directory");
    

方法3:复制hadoop.dll到JRE的bin目录

  • 找到你运行Spark所使用的JRE的bin目录(比如你自行安装的JDK下的jre\bin,通常用户对这个目录有写入权限)
  • 将hadoop.dll复制到该bin目录下,Java启动时会优先加载JRE目录中的本地库文件

内容的提问来源于stack exchange,提问作者Diego Dávila Vilchez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:05:49