解决org.apache.hadoop.security.AccessControlException: Permission denied: user=Administrator

大数据技术 潘老师 3年前 (2021-04-22) 2054 ℃ (0) 扫码查看

我们在使用Java API操作HDFS时如果出现如下错误提示:

org.apache.hadoop.security.AccessControlException: Permission denied: user=Administrator, access=WRITE, inode=”/”:hadoop:supergroup:drwxr-xr-x
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:399)

表明我们没有使用正确的用户操作HDFS,即没有操作权限,这里我们可以使用两种方案解决:

方案1:

在程序的main方法里面,最上面一行加入

System.setProperty("HADOOP_USER_NAME","你的用户名");
方案2:

在文件系统FileSystem创建对象时,表明“你的用户名”

FileSystem fileSystem = FileSystem.get(uri ,conf,"你的用户名");

然后再去尝试就发现OK了


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/bigdata/3039.html
喜欢 (1)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】