Apache Spark从1.5.2升级到1.6.0,使用自制程序导致执行期间权限被拒绝错误

我刚刚使用Homebrew将Spark从1.5.2升级到了1.6.0,并将SPARK_HOME环境variables重置为/usr/local/Cellar/apache-spark/1.6.0 。 现在执行pyspark时,会给出拒绝权限的错误。

如果我进入较早的1.5.2安装目录并从那里执行pyspark,它运行良好。 但是从1.6.0安装目录运行pyspark失败,并且出现此权限被拒绝的错误。

/usr/local/Cellar/apache-spark/1.6.0/bin/load-spark-env.sh: line 2: /usr/local/Cellar/apache-spark/1.6.0/libexec/bin/load-spark-env.sh: Permission denied

/usr/local/Cellar/apache-spark/1.6.0/bin/load-spark-env.sh: line 2: exec: /usr/local/Cellar/apache-spark/1.6.0/libexec/bin/load-spark-env.sh: cannot execute: Undefined error: 0

什么可能导致这个?

我遇到了同样的问题,最简单的解决方法是将$SPARK_HOME设置$SPARK_HOME /usr/local/Cellar/apache-spark/<your_spark_version>/libexec/

您也可以直接从源代码构建,您可以在这里找到说明。

基本上只是做

 git clone https://github.com/apache/spark/` cd spark git checkout origin/branch-XY build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package 

您需要将$SPARK_HOME设置为spark源代码的顶层目录。

项目页面上的票证帮助:

 unset SPARK_HOME && spark-submit 

https://github.com/Homebrew/homebrew/issues/48898#issuecomment-180633967

通过unset SPARK_HOME && pyspark (下面的信息诺里)

希望得到在Ipython中运行的SparkContext,结果是安静直接。

unset SPARK_HOME IPYTHON=1 pyspark

我也遇到了像启动spark-shell权限一样的错误。 我更改了文件权限。 它为我工作得很好。 转到spark-1.6.x的父目录,然后执行以下操作:

 chmod 777 spark-1.6.x -R 

这将递归地改变文件的权限。