我正在尝试提交pythonspark在yarn集群模式下的应用程序。
Seq(System.getenv("SPARK_HOME")+"/bin/spark-submit","--master",sparkConfig.getString("spark.master"),"--executor-memory",sparkConfig.getString("spark.executor-memory"),"--num-executors",sparkConfig.getString("spark.num-executors"),"python/app.py") !
我有以下错误,
诊断:文件不存在:hdfs://:8020/user/hdfs/.sparkstaging/application\u 123456789\u 0138/pyspark.zip java.io.filenotfoundexception:文件不存在:hdfs://:8020/user/hdfs/.sparkstaging/application\u 123456789\u 0138/pyspark.zip
我发现https://issues.apache.org/jira/browse/spark-10795
但票还是开着的!
5条答案
按热度按时间gdrx4gfi1#
在我处理scala作业的经验中,我看到当代码试图在某个地方设置master(“local”)时,yarn cluster模式会出现这种错误。请尝试删除对设置本地“主控”的任何引用。
同样,我的答案是基于scala行为的,但希望这能有所帮助。
wgxvkvu92#
尝试将hdfs name node属性添加到yarn-site.xml:
确保yarn_conf_dir env变量指向yarn-site.xml目录
oyjwcjzk3#
你是否未能创建一个合适的spark上下文?我怀疑这就是问题所在。我还更新了https://issues.apache.org/jira/browse/spark-10795
djmepvbi4#
当您试图使用部署模式“cluster”触发提交作业,并且试图将master设置为“local”时,就会发生这种情况;例如。
您有两个选项:选项#1:将上面的行更改为:
把你的工作
选项#2:以“客户端”的方式提交部署模式下的作业
oxf4rvwz5#
我在这里回答了这个问题https://stackoverflow.com/a/55457870/3357812. 对我来说,关键是spark.hadoop.fs.defaultfs必须在python内部的sparkconf中设置。