Spark提交在HTTP代理之后无法解决包依赖关系



下面是我的spark-submit命令

/usr/bin/spark-submit  
--class "<class_name>" 
--master yarn 
--queue default 
--deploy-mode cluster 
--conf "spark.driver.extraJavaOptions=-DENVIRONMENT=pt -Dhttp.proxyHost=<proxy_ip> -Dhttp.proxyPort=8080 -Dhttps.proxyHost=<proxy_ip> -Dhttps.proxyPort=8080" 
--conf "spark.executor.extraJavaOptions=-DENVIRONMENT=pt -Dhttp.proxyHost=<proxy_ip> -Dhttp.proxyPort=8080 -Dhttps.proxyHost=<proxy_ip> -Dhttps.proxyPort=8080" 
--packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.3.0 
--driver-memory 3G 
--executor-memory 4G 
--num-executors 2 
--executor-cores 3 <jar_file>

spark-submit命令在解决包依赖时超时

--jar替换--packages是可行的,但我想弄清楚为什么--packages对我不起作用。此外,对于http.proxyHosthttps.proxyHost,我只指定了ip地址,而没有指定http://https://

编辑

请注意以下

  • 我正在部署的机器和spark集群位于http代理之后
  • 我知道--jar和--package之间的区别。我想让--package选项在我的情况下起作用
  • 我已经为我的机器测试了http代理设置。我可以从我的机器上上网。我可以做curl。出于某种原因,感觉spark-submit没有接受http代理设置

简而言之,--packages---jar之间的区别,就是--packages使用maven来解析您提供的包,--jar是要包含在类路径中的jar列表,这意味着您必须确保这些jar在executor节点中也可用,而使用--package时,您还应该确保安装了maven并在每个节点中工作

更多详细信息可以在spark提交帮助上找到

--jarsjars用逗号分隔的jars列表,包括在驱动程序和执行程序类路径中。

--packages要包含的jar的maven坐标的逗号分隔列表在驱动程序和执行程序类路径上。将搜索本地maven回购,然后maven中央和任何额外的远程由给定的存储库--存储库。的格式坐标应为groupId:artifactId:version。

最新更新