CreateProcess error = 5,在Win10中尝试SparkLauncher示例时拒绝访问

时间:2016-05-13 15:46:30

标签: java apache-spark ioexception

我遇到以下异常:

Exception in thread "main" java.io.IOException: Cannot run program "E:\Software\spark-1.6.1\bin\spark-submit.cmd": CreateProcess error=5, Access is denied
    at java.lang.ProcessBuilder.start(Unknown Source)
    at org.apache.spark.launcher.SparkLauncher.startApplication(SparkLauncher.java:418)
    at com.wwa.spark.poc.SimpleAppLauncher.main(SimpleAppLauncher.java:13)
Caused by: java.io.IOException: CreateProcess error=5, Access is denied
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(Unknown Source)
    at java.lang.ProcessImpl.start(Unknown Source)
    ... 3 more

当我尝试从https://github.com/apache/spark/blob/master/launcher/src/main/java/org/apache/spark/launcher/package-info.java

运行SparkLauncher示例时

我的代码是:

public static void main(String[] args) throws IOException {
    SparkAppHandle handle = new SparkLauncher().setAppResource("E:/spark-poc-0.0.1-SNAPSHOT.jar")
            .setMainClass("com.wwa.spark.poc.SimpleApp").setMaster("spark://spark1:7077").setConf(SparkLauncher.DRIVER_MEMORY, "2g")
            .startApplication();
}

我已经尝试更改spark-submit.cmd文件的权限,但没有运气。然后,我尝试确保我的所有spark安装都具有正确的权限并被授予运行给所有登录用户的权限,但这也导致上面粘贴的错误。

如果我从命令行运行spark-submit.cmd,它的效果非常好。

1 个答案:

答案 0 :(得分:0)

我在Apache Spark 1.6.1,hadoop 2.6和Scala 2.11下运行;和hadoop客户端2.6。

我用Spark 1.6.1,Hadoop 2.4和Scala 2.10替换了我的Spark安装,它开始工作了。在阅读其他论坛之后,似乎Hadoop 2.6进行了一些重大的重构并删除了一些软件包,例如AWS软件包。