Spark 提交问题

Spark Submit Issue

我正在尝试使用 Spark 提交 运行 Spark 集群上的 fat jar。 我在 AWS 上使用 Spark 捆绑包中的 "spark-ec2" 可执行文件创建了集群。

我用于运行 jar 文件的命令是

bin/spark-submit --class edu.gatech.cse8803.main.Main --master yarn-cluster ../src1/big-data-hw2-assembly-1.0.jar

一开始它给我的错误是 HADOOP_CONF_DIRYARN_CONF_DIR[=28= 中的至少一个] 必须设置环境变量。 我不知道将它们设置成什么,所以我使用了以下命令

export HADOOP_CONF_DIR=/mapreduce/conf

现在错误已更改为

Could not load YARN classes. This copy of Spark may not have been compiled with YARN support.
Run with --help for usage help or --verbose for debug output

主目录结构如下

ephemeral-hdfs  hadoop-native  mapreduce  persistent-hdfs  scala  spark  spark-ec2  src1  tachyon

我什至将 YARN_CONF_DIR 变量设置为与 HADOOP_CONF_DIR 相同的值,但错误消息没有改变。我找不到任何突出显示此问题的文档,其中大多数仅提及这两个变量而没有提供更多详细信息。

--master 参数应为:--master spark://hostname:7077 其中 hostname 是您的 Spark 主服务器的名称。您还可以在 spark-defaults.conf 文件中将此值指定为 spark.master,并在从命令行使用 Spark 提交时省略 --master 参数。包含 --master 参数将覆盖 spark-defaults.conf 文件中的值集(如果存在)。

参考:http://spark.apache.org/docs/1.3.0/configuration.html

https://spark.apache.org/downloads.html 下载支持 hadoop 2.X 版本的预构建 spark

您需要针对 Yarn 编译 spark 才能使用它。

按照此处说明的步骤操作:https://spark.apache.org/docs/latest/building-spark.html

专家:

build/mvn -Pyarn -Phadoop-2.x -Dhadoop.version=2.x.x -DskipTests clean package

SBT:

build/sbt -Pyarn -Phadoop-2.x assembly

您也可以在这里下载预编译版本:http://spark.apache.org/downloads.html(选择一个"pre-built for Hadoop")