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了