1.前言
每次提交Spark on Yarn作业时, Spark都会把$SPARK_HOME/jars下的jar打包成zip上传到hdfs分布式缓存中
这样在生产上是不合适的,会浪费不必要的网络资源
2.官方说明
http://spark.apache.org/docs/latest/running-on-yarn.html
如果我们在使用Spark on Yarn时如果为设置spark.yarn.jars
或spark.yarn.archive
就会发生jars上传的操作。解决办法也很简单
将$spark/jars/*
上传hdfs,然后配置spark-defaults.conf
就行
hdfs dfs -mkdir /lib/spark-jars
hdfs dfs -put ${SPARK_HOME}/jars/*.jar /lib/spark-jars
vim ${SPARK_HOME}/conf/spark-defaults.conf
# 添加以下内容
spark.yarn.jars hdfs://hadoop001:9000/lib/spark-jars/*
再次提交spark作业到yarn发现不会再上传Jars了