我刚刚使用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
这将递归地改变文件的权限。