Spark提交问题

时间:2015-04-12 02:29:43

标签: hadoop amazon-web-services apache-spark yarn

我正在尝试使用Spark提交在Spark集群上运行胖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_DIR YARN_CONF_DIR 环境变量。 我不知道将它们设置为什么,所以我使用了以下命令

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相同的值,但错误消息没有改变。我无法找到任何突出显示此问题的文档,其中大多数只是提到这两个变量而没有提供更多详细信息。

3 个答案:

答案 0 :(得分:2)

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

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

的Maven:

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(选择“预先为Hadoop构建”)

答案 1 :(得分:1)

https://spark.apache.org/downloads.html

下载支持hadoop 2.X版本的prebuilt spark

答案 2 :(得分:0)

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

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