spark-submit时,发现上传spark依赖到hdfs 时间长达数分钟,现象如下方截图:

 

这个日志之后在上传程序依赖的jar,根据不同网络负荷,需要耗时数十秒甚至数分钟,导致任务提交速度超级慢,在官网上查到出现这种现象的原因:https://spark.apache.org/docs/2.1.1/running-on-yarn.html

 

翻译过来就是: 要想在yarn spark的runtime jars,需要指定spark.yarn.archive 或者 spark.yarn.jars。如果都这两个参数都没有指定,spark就会把$SPARK_HOME/jars/所有的jar上传到分布式缓存中

下面是解决方案:

将$SPARK_HOME/jars/* 下spark运行依赖的jar上传到hdfs上
hdfs dfs -mkdir /tmp/spark/lib_jars
hadoop fs -put $SPARK_HOME/jars/* hdfs:///tmp/spark/lib_jars
$SPARK_HOME/conf/spark-defaults.conf, 增加 如下信息:
spark.yarn.jars hdfs:///tmp/spark/lib_jars/*.jar

————————————————
版权声明:本文为CSDN博主「代立冬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/oDaiLiDong/article/details/85214299