问题详情
每次提交spark任务到yarn的时候,总会出现uploading resource(打包spark jars并上传)到hdfs上。恶劣情况下,会在这里卡住很久。
17/01/13 17:21:47 INFO Client: Preparing resources for our AM container 17/01/13 17:21:47 WARN Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploadi ng libraries under SPARK_HOME. 17/01/13 17:21:58 INFO Client: Uploading resource file:/tmp/spark-28ebde0d-c77a-4be3-8248-a6d3bcccc253/__spar k_libs__7542776655448713545.zip -> hdfs://dipperCluster/user/hadoop/.sparkStaging/application_1484215273436_0 050/__spark_libs__7542776655448713545.zip 17/01/13 17:22:08 INFO Client: Uploading resource file:/tmp/spark-28ebde0d-c77a-4be3-8248-a6d3bcccc253/__spar k_conf__8972755978315292177.zip -> hdfs://dipperCluster/user/hadoop/.sparkStaging/application_1484215273436_0 050/__spark_conf__.zip
其实可以发现,上图中,已经有提示了,说被弃用了。
解决办法1
在hdfs上创建目录:
hdfs dfs -mkdir /home/hadoop/spark_jars
上传spark的jars(spark1.6 只需要上传spark-assembly-1.6.0-SNAPSHOT-hadoop2.6.0.jar)
hdfs dfs -put /opt/spark/jars/* /home/hadoop/spark_jars/
在spark的conf的spark-default.conf ,添加如下的配置
spark.yarn.jars=hdfs://master:9000/opt/spark/jars/* /home/hadoop/spark_jars/
即可解决。不会出现这个问题。
当,再次启动时,则
Source and destination file systems are the same. Not copying hdfs://master:9000/home/hadoop/spark_jars/zookeeper-3.4.6.jar
之后快速开始提交任务,启动任务。
解决办法2
其实啊,说白了,就是spark2.1.0或spark2.2.0以上的版本的命令有所变化。所以压根可以需改动解决办法1所示的配置,直接用官网这样的命令来操作就可以了。
http://spark.apache.org/docs/latest/running-on-yarn.html
本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7612684.html,如需转载请自行联系原作者