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

如何为Spark运行时ivy依赖下载单独配置HTTP代理

Spark ivy依赖下载独立代理配置方案

需求背景

Spark可在运行时通过packages选项下载额外依赖,该过程底层通过ivy实现。
需求:配置HTTP代理仅用于上述依赖下载场景,无需为所有Java进程配置全局代理。

实现方案

方案1:无需修改源码的运行时配置(推荐)

直接在Spark作业提交时为当前作业的JVM进程单独传递代理参数,不会影响全局Java环境,命令示例如下:

spark-submit \
  --conf spark.driver.extraJavaOptions="-Dhttp.proxyHost=<代理主机地址> -Dhttp.proxyPort=<代理端口> -Dhttps.proxyHost=<代理主机地址> -Dhttps.proxyPort=<代理端口>" \
  --conf spark.executor.extraJavaOptions="-Dhttp.proxyHost=<代理主机地址> -Dhttp.proxyPort=<代理端口> -Dhttps.proxyHost=<代理主机地址> -Dhttps.proxyPort=<代理端口>" \
  --packages <你的依赖包坐标> \
  <你的作业主类路径>

如果是本地IDEA调试Spark作业,直接在启动配置的VM options栏添加上述代理参数即可。

方案2:修改源码实现

通过Debug Spark源码可定位到ivy依赖下载的相关逻辑在org.apache.ivy.util.url.BasicURLHandler类中,可在该类对应网络请求的位置添加代理配置,参考代码如下:

url.openConnection(PROXY);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:24:02