解决CDH 访问权限问题
CDH 6.2 安装好以后,直接使用root 或者 其他账号执行spark-shell
会报权限错误
22/01/04 17:46:28 ERROR spark.SparkContext: Error initializing SparkContext.
org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:400)
...
因为CDH版的HDFS系统中,hdfs
用户才是超管,他所在的组在HDFS里是supergroup
而非linux下的 root 或者 其他用户。
解决办法:
## 创建hadoop用户,(由于已存在hadoop组,就直接-g 加入)
useradd -g hadoop hadoop
## 添加sudo权限,已经干了的话,这里就忽略
visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL ## 自主添加的一行
修改完毕 :wq!
## Linux 下创建超级用户组
groupadd supergroup
## 把hadoop用户加入supergroup组中
usermod -a -G supergroup hadoop
## 同步系统权限信息到HDFS,会自动同步其他节点权限
su - hdfs -s /bin/bash -c "hdfs dfsadmin -refreshUserToGroupsMappings"
本文作者:明月照江江
本文链接:https://www.cnblogs.com/gradyblog/p/15763466.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步