我试图在我的Hadoop集群上运行spark-submit
命令,这里是我的Hadoop集群的总结:
当我运行以下命令时:
spark-submit --class org.apache.spark.examples.SparkPi $SPARK_HOME/examples/jars/spark-examples_2.12-3.0.3.jar 10
我收到以下错误:
java.io.FileNotFoundException: File file:/home/bitnami/sparkStaging/bitnami/.sparkStaging/application_1658417340986_0002/__spark_conf__.zip does not exist
在尝试使用sparkSession创建PySpark时,也会遇到类似的错误:
spark = SparkSession.builder.appName('appName').getOrCreate()
我已经试过/验证了以下几点
HADOOP_HOME
、SPARK_HOME
和HADOOP_CONF_DIR
已在.bashrc
文件中设置SPARK_DIST_CLASSPATH
和HADOOP_CONF_DIR
是在spark-env.sh
中定义的。spark.master yarn
、spark.yarn.stagingDir file:///home/bitnami/sparkStaging
和spark.yarn.jars file:///opt/bitnami/hadoop/spark/jars/
中添加spark-defaults.conf
发布于 2022-07-22 18:12:49
我认为spark.yarn.stagingDir
需要成为一条HDFS路径。
更具体地说,“纱线暂存目录”需要在所有火花执行器上可用,而不仅仅是运行spark-submit
的本地文件路径。
未找到的路径是从user集群中报告的,其中可能不存在/home/bitnami
,或者运行Spark容器的Unix用户无法访问该路径。
类似地,spark.yarn.jars
(或spark.yarn.archive
)应该是HDFS路径,因为这些路径将被并行地跨所有执行器下载。
发布于 2022-07-22 07:03:08
由于火花作业应该提交给由纱线管理的Hadoop集群,所以必须设置master
和deploy-mode
。来自火花3.3.0文档
# Run on a YARN cluster in cluster deploy mode
export HADOOP_CONF_DIR=XXX
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--executor-memory 20G \
--num-executors 50 \
/path/to/examples.jar \
1000
或按计划:
spark = SparkSession.builder().appName('appName').master("yarn").config("spark.submit.deployMode","cluster").getOrCreate()
https://stackoverflow.com/questions/73072114
复制相似问题