CDH安装的集群在运行spark对hive进行操作时,报 Permission denied: user=root, access=WRITE, inode="/":hdfs:super
查看hadoop文件目录可以看出/user的所有者是hdfs且权限是755
解决此问题有多种方法:
1.用指定的hdfs用户去执行
2.非CDH用户可以在haoop 配置文件中hdfs-site.xml 中设置管理权限为false
dfs.permissions.enabled=false
3.将root用户添加到HDFS文件系统的目录所属的supergroup用户组,
增加supergroup
groupadd supergroup
如将用户root增加到supergroup中
usermod -a -G supergroup root
同步系统的权限信息到HDFS文件系统
sudo -u hdfs hdfs dfsadmin -refreshUserToGroupsMappings
查看属于supergroup用户组的用户
grep 'supergroup:' /etc/group
4.将/user权限改成777
5.添加超级用户组
6.将hdfs权限给root用户
sudo -u hdfs hadoop fs -chown root /user