2016-12-02 74 views
1

我有一个一直设置一个EC2服务器上进行如下的码头工人,火花提交失败。当罐子是S3

docker exec -it master bin/spark-submit --master spark://0.0.0.0:7077 --verbose --class my/class s3://myBucket/path 

下面是从运行的打印输出:

Warning: Skip remote jar s3://myBucket/MyBin. 
java.lang.ClassNotFoundException: my/class 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:348) 
    at org.apache.spark.util.Utils$.classForName(Utils.scala:228) 
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:693) 
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:185) 
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:210) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:124) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 
+0

几件事情要检查,你可以验证罐子正在下载?如果不是作为临时措施,只是为了查看是否存在权限/网络问题而将其公开访问? – ImDarrenG

回答

1

这是一份源代码和IDE,通过它扫描副本帮助那些事情之一......一个快速的grep显示出来它只支持file:/和local:/ URLs。应用程序JAR必须始终是本地的,尽管列出的任何内容都会在火花簇本身内部可见的情况下被拾取并添加到工作本身的CP中。