java.io.IOException: Cannot run program “/home/user/anaconda3/bin/python3”: error=13, Permission denied【Pyspark】
1、问题描述
在pyspark on yarn阶段,在所有节点都配置了python解释器,但是java报无法访问【Permission denied】的问题。
但是文件位置是存在的。具体报错如下图所示
2、解决过程
在发现该问题之后,一杯咖啡,一个人de一天。在此访问了stackoverflow,CSDN求助,均没有很好的解决。
配置环境变量配置如下,均没问题,且 chmod 777 anaconda3
export PYSPARK_PYTHON=/home/user/anaconda3/bin/python3
export PYSPARK_DRIVER_PYTHON=/home/user/anaconda3/bin/python3
还有就是看到有帖子是换到/opt下安装anaconda的操作。在此证明该操作没用。
发生上述问题的原因是yarn没有权限执行该文件,理论上说同一个用户按道理是有权限的。
但是在实际操作中,执行时yarn貌似不是user权限,而更像一种第三者的权限yarn有一个单独的用户【用户名暂且叫yarn】,为了他又执行权限,需要将路径直接改为755的权限。
chmod -R 755 /home/user