一.看一下新建目录/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