M1 Mac运行SparkSession遇双问题:Java网关错误与zsh权限拒绝
解决M1 Mac上Spark Java运行时缺失及.zshrc权限问题
一、解决zsh: permission denied: /Users/user/.zshrc权限问题
- 先查看.zshrc的权限和所有者:
ls -l ~/.zshrc - 如果文件所有者不是当前用户,执行以下命令修改:
输入系统密码后执行即可。sudo chown $(whoami) ~/.zshrc - 给当前用户添加文件写入权限:
chmod u+w ~/.zshrc - 之后可以用命令行编辑器编辑,比如:
或者用图形化编辑器打开:nano ~/.zshrcopen -a TextEdit ~/.zshrc
二、解决Spark找不到Java运行时的问题
Spark需要Java 8或11的ARM版本适配M1 Mac,推荐用Azul Zulu的Java包:
- 安装适配M1的Java
用Homebrew安装Zulu 11(若Spark版本要求Java 8,替换为zulu8):brew install zulu11 - 获取Java安装路径
执行以下命令(版本号对应你安装的Java版本):
复制输出的完整路径,比如/usr/libexec/java_home -v 11/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home - 配置JAVA_HOME到.zshrc
打开.zshrc文件,在末尾添加:
替换成你刚才复制的实际路径,保存文件。export JAVA_HOME="/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home" - 生效配置并验证
执行命令使配置立即生效:
验证JAVA_HOME是否正确:source ~/.zshrc
再验证Java是否正常运行:echo $JAVA_HOMEjava -version - 重新运行Spark命令
再次执行spark = SparkSession.builder.appName("Basics").getOrCreate(),即可正常启动SparkSession。
内容的提问来源于stack exchange,提问作者yts61
相关产品推荐
相关产品推荐

