Hadoop Spark提交问题
我正在尝试使用Spark submit在Spark集群上运行一个胖jar。 我使用AWS上spark bundle中的“spark-ec2”可执行文件制作了集群 我用来运行jar文件的命令是Hadoop Spark提交问题,hadoop,amazon-web-services,apache-spark,yarn,Hadoop,Amazon Web Services,Apache Spark,Yarn,我正在尝试使用Spark submit在Spark集群上运行一个胖jar。 我使用AWS上spark bundle中的“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或T
bin/spark-submit --class edu.gatech.cse8803.main.Main --master yarn-cluster ../src1/big-data-hw2-assembly-1.0.jar
一开始,它给了我一个错误,即至少必须设置一个HADOOP_CONF_DIR或Thread_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
我甚至将Thread_CONF_DIR变量设置为与HADOOP_CONF_DIR相同的值,但错误消息没有改变。我找不到任何突出这个问题的文档,大多数文档只提到了这两个变量,没有提供进一步的细节。参数--master
应该是:--masterspark://hostname:7077
其中hostname是Spark主服务器的名称。您还可以在spark-defaults.conf文件中将此值指定为spark.master
,并在从命令行使用spark submit时省略--master
参数。包含--master
参数将覆盖spark-defaults.conf文件中的值集(如果存在)
参考资料:从下载支持hadoop 2.X版本的预构建spark,您需要编译spark来使用它 按照此处介绍的步骤操作: 马文:
build/mvn -Pyarn -Phadoop-2.x -Dhadoop.version=2.x.x -DskipTests clean package
SBT:
您还可以在此处下载预编译版本:(选择“为Hadoop预编译”)
build/sbt -Pyarn -Phadoop-2.x assembly