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
我刚刚使用 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
并使用
启动pysparkpyspark
不要取消设置 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