org.apache.hadoop.security.AccessControlException:Permission denied:user=Administrator,access=WRITE

来源:互联网 发布:乌云关闭 知乎 编辑:程序博客网 时间:2024/05/22 10:36
org.apache.hadoop.security.AccessControlException:Permission denied:user=Administrator,access=WRITE,inode="tmp":root:supergroup:rwxr-xr-x 。

  这个错误有些蹊跷,因为我已经在map/reduce locations中配置了用户名是root,不知道它为什么还是以Administrator用户身份

解决办法如下:

  问题原因:本地用户administrator(本机windows用户)想要远程操作hadoop系统,没有权限引起的。
      解决办法:
           

a、如果是测试环境,可以取消hadoop hdfs的用户权限检查。打开conf/hdfs-site.xml,找到dfs.permissions属性修改为false(默认为true)OK了。

b、修改hadoop location参数,在advanced parameter选项卡中,找到hadoop.job.ugi项,将此项改为启动hadoop的用户名即可。(注意第一次设置的时候可能没有hadoop.job.ugi参数,报错后在去看就有了。)

c、因为Eclipse使用hadoop插件提交作业时,会默认以 DrWho 身份去将作业写入hdfs文件系统中,对应的也就是 HDFS 上的/user/hadoop ,  由于 DrWho 用户对hadoop目录并没有写入权限,所以导致异常的发生。解决方法为:放开 hadoop 目录的权限 , 命令如下 :$ hadoop fs -chmod 777

0 0
原创粉丝点击