Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spark Python提交错误:文件不存在:pyspark.zip_Python_Hadoop_Apache Spark - Fatal编程技术网

Spark Python提交错误:文件不存在:pyspark.zip

Spark Python提交错误:文件不存在:pyspark.zip,python,hadoop,apache-spark,Python,Hadoop,Apache Spark,我正在尝试以纱线簇模式提交python spark应用程序 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-e

我正在尝试以纱线簇模式提交python spark应用程序

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://xxxxxx:8020/user/hdfs/.sparkStaging/application_123456789_0138/pyspark.zip java.io.FileNotFoundException:文件不存在: hdfs://xxxxxx:8020/user/hdfs/.sparkStaging/application_123456789_0138/pyspark.zip

我发现


但是票还是开着的

您是否未能创建适当的spark上下文?我怀疑这就是问题所在。我还更新了

在我使用scala作业的经验中,我发现当代码试图在某个地方设置master(“本地”)时,纱线簇模式会出现此错误。 请尝试删除对设置本地“主机”的任何引用


同样,我的答案是基于scala行为的,但希望这能有所帮助。

当您尝试使用部署模式“集群”触发提交作业,并且尝试将master设置为“本地”时,会发生这种情况;e、 g

您有两个选择: 选项1: 将上述行更改为:

val sparkConf = new SparkConf().setAppName("spark-pi-app");
并将您的工作提交为

./bin/spark-submit --master yarn --deploy-mode cluster --driver-memory 512m --executor-memory 512m --executor-cores 1 --num-executors 3 --jars hadoop-common-{version}.jar,hadoop-lzo-{version}.jar --verbose --queue hadoop-queue --class "SparkPi" sparksbtproject_2.11-1.0.jar
选项2:以“客户端”的部署模式提交作业


尝试将HDFS名称节点属性添加到warn-site.xml:

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://your-name-hode-host-port:8989</value>
</property>

fs.defaultFS
hdfs://your-name-hode-host-port:8989
确保Thread_CONF_DIR env变量指向Thread site.xml的目录

我在这里回答了这个问题。对我来说,关键是必须在Python内部的SparkConf中设置spark.hadoop.fs.defaultFS

yarn_conf = SparkConf().setAppName(_app_name) \
                    .setMaster("yarn") \
                    .set("spark.executor.memory", "4g") \
                    .set("spark.hadoop.fs.defaultFS", "hdfs://{}:8020".format(_fs_host)) \
                    .set("spark.hadoop.yarn.resourcemanager.hostname", _rm_host)\
                    .set("spark.hadoop.yarn.resourcemanager.address", "{}:8050".format(_rm_host))

该属性在网站中不存在。这是核心网站
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://your-name-hode-host-port:8989</value>
</property>
yarn_conf = SparkConf().setAppName(_app_name) \
                    .setMaster("yarn") \
                    .set("spark.executor.memory", "4g") \
                    .set("spark.hadoop.fs.defaultFS", "hdfs://{}:8020".format(_fs_host)) \
                    .set("spark.hadoop.yarn.resourcemanager.hostname", _rm_host)\
                    .set("spark.hadoop.yarn.resourcemanager.address", "{}:8050".format(_rm_host))