[java&hdfs篇]使用Java创建目录和HDFS的权限(causeBy permissions deny)问题及解决方法

一.看一下新建目录/folder111的权限及创建目录的用户.

1.由下图我们知道/folder111的权限是755。而此时的操作用户为其他用户admin。又因为只有当前root用户有写的权限,而同组用户和其他用户都不具备写的权限,所以报错权限被否causeby

dbeb59e317f14e0a9f2ac85affb14644.png

 2.查看自己电脑当前登录的用户是admin

0eb416cdbb984ce18a7049757d926cad.png

 

二.解决方法:有4种解决方法,前三种常用

1.设置一个属性
AW -->root   hdfs 你说你是谁,你就是谁,不加验证。
//指定当前hadoop的用户是root,放在testMkdir的第一行,就能正常往hdfs上写文件
System.setProperty("HADOOP_USER_NAME","root");

453c2be130cb45faaf402613bba82568.png

2.-D 法,获取命令行的参数,相当于main方法中的args参数。具体操作步骤如下:

(1)找到项目的编辑配置Edit Configurations…

6cad9e2e3d1c4d0d805d3422156f4a23.png

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

3b1040d430d14b3f85f252e4d9d611be.png

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

f4500f4b38a947ed9e3a1ca96859bc28.png

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值