用spark-submit将py提交到yarn时警告
WARN Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME.
意思是spark无法找到要在YARN集群上执行任务所需的JAR包或归档文件。它会尝试从SPARK_HOME目录上传所需的库文件,所以会卡在这里一段时间。
解决办法
到SPARK_HOME中找到jars文件夹,将它们打包
jar cv0f spark-libs.jar -C $SPARK_HOME/jars/ .
意思是将$SPARK_HOME/jars/里的文件全部打包为当前目录的spark-libs.jar。
然后将其上传到hdfs中,先自己创建好目录
hdfs dfs -put spark-libs.jar /spark/jars
然后再到$SPARK_HOME/conf/spark-env.sh中添加
spark.yarn.archive hdfs://localhost:8020/spark/jars/spark-libs.jar
保存即可