解决CDH访问权限问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

解决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 node.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"。

相关文档
最新文档