Apache Spark 使用自制软件从 1.5.2 升级到 1.6.0 导致执行期间出现权限被拒绝错误

Apache Spark upgrade from 1.5.2 to 1.6.0 using homebrew leading to permission denied error during execution

我刚刚使用 Homebrew 将 Spark 从 1.5.2 升级到 1.6.0,并将我的 SPARK_HOME 环境变量重置为 /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 设置为 /usr/local/Cellar/apache-spark/<your_spark_version>/libexec/

您也可以直接从源代码构建,您可以找到说明 here

基本上就做

git clone https://github.com/apache/spark/`
cd spark
git checkout origin/branch-X.Y

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(以下归功于 noli)

想在Ipython中获取SparkContext运行,结果很简单。

unset SPARK_HOME IPYTHON=1 pyspark

我也遇到了同样的错误,比如启动 spark-shell 的权限被拒绝。 我更改了文件权限。它对我来说很好用。 转到 spark-1.6.x 的父目录并执行以下操作:

chmod 777 spark-1.6.x -R

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

对于 MacO 中的 Pyspark 2.4.4 添加到 .bash_profile:

# Pyspark
export SPARK_HOME='/usr/local/Cellar/apache-spark/2.4.4/libexec/'
export PYSPARK_DRIVER_PYTHON="jupyter"
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"
#For python 3, You have to add the line below or you will get an 
# error
export PYSPARK_PYTHON=python3
alias snotebook='$SPARK_PATH/bin/pyspark --master local[4]'

然后使用

重新加载
source .bash_profile

并使用

启动pyspark
pyspark 

不要取消设置 SPARK_HOME 否则会出现以下错误:

/Users/user/opt/anaconda3/bin/pyspark: line 24: /bin/load-spark-env.sh: No such file or directory
/Users/user/opt/anaconda3/bin/pyspark: line 77: /bin/spark-submit: No such file or directory
/Users/usr/opt/anaconda3/bin/pyspark: line 77: exec: /bin/spark-submit: cannot execute: No such file or directory