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

Hadoop 潘老师 2个月前 (04-22) 174 ℃ (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了


版权声明:本站所有文章,如无特殊说明,均为本站原创。全部下载资源版权归原作者所有。任何个人或组织,若未征得本站同意,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系潘老师进行处理。
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)

您必须 微信登录 才能发表评论!