当应用程序jar在hdfs中时,Spark-submit无法正常工作

dil*_*ilm 29 hadoop hdfs apache-spark

我正在尝试使用bin/spark-submit运行spark应用程序.当我在我的本地文件系统中引用我的应用程序jar时,它可以工作.但是,当我将我的应用程序jar复制到hdfs中的目录时,我得到以下异常:

警告:跳过远程jar hdfs:// localhost:9000/user/hdfs/jars/simple-project-1.0-SNAPSHOT.jar.java.lang.ClassNotFoundException:com.example.SimpleApp

这是命令:

$ ./bin/spark-submit --class com.example.SimpleApp --master local hdfs://localhost:9000/user/hdfs/jars/simple-project-1.0-SNAPSHOT.jar

我正在使用hadoop版本2.6.0,火花版本1.2.1

Rom*_*ain 22

当我使用时,它对我有用的唯一方式

--master yarn-cluster

  • 如果他们不想使用YARN怎么办?我看到这是接受的答案,但OP试图使用本地[*]?Eeen-teresting. (4认同)

San*_*jiv 8

要使spark-job可以访问HDFS库,您必须以群集模式运行作业.

$SPARK_HOME/bin/spark-submit \
--deploy-mode cluster \
--class <main_class> \
--master yarn-cluster \
hdfs://myhost:8020/user/root/myjar.jar
Run Code Online (Sandbox Code Playgroud)

此外,还为客户端模式引发了Spark JIRA,但尚未支持.

SPARK-10643:支持在客户端模式下提交HDFS应用程序