解决org.apache.hadoop.security.AccessControlException: Permission denied: user=Administrator
我们在使用Java API操作HDFS时如果出现如下错误提示:
[v_error]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)
[/v_error]
表明我们没有使用正确的用户操作HDFS,即没有操作权限,这里我们可以使用两种方案解决:
[v_act]方案1:[/v_act]在程序的main方法里面,最上面一行加入
System.setProperty("HADOOP_USER_NAME","你的用户名");
[v_act]方案2:[/v_act]在文件系统FileSystem创建对象时,表明“你的用户名”
FileSystem fileSystem = FileSystem.get(uri ,conf,"你的用户名");
然后再去尝试就发现OK了

程序员导航
优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



