一.看一下新建目录/folder111的权限及创建目录的用户.
1.由下图我们知道/folder111的权限是755。而此时的操作用户为其他用户admin。又因为只有当前root用户有写的权限,而同组用户和其他用户都不具备写的权限,所以报错权限被否causeby
2.查看自己电脑当前登录的用户是admin
二.解决方法:有4种解决方法,前三种常用
1.设置一个属性
AW -->root hdfs 你说你是谁,你就是谁,不加验证。
//指定当前hadoop的用户是root,放在testMkdir的第一行,就能正常往hdfs上写文件
System.setProperty("HADOOP_USER_NAME","root");
2.-D 法,获取命令行的参数,相当于main方法中的args参数。具体操作步骤如下:
(1)找到项目的编辑配置Edit Configurations…

(2)找到VM options,添加指定身份

3.改变目录的权限 chmod hdfs dfs -chmod 777 /folder111
4.<dfs.permissions> ture -->false

博客主要讲述了HDFS新建目录/folder111时遇到的权限问题,因只有root用户有写权限,其他用户操作会报错。同时给出四种解决方法,包括设置属性指定用户为root、用-D法获取命令行参数指定身份、改变目录权限以及修改<dfs.permissions>的值。



1667

被折叠的 条评论
为什么被折叠?



