mkdir: Permission denied: user=root, access=WRITE

引言:我们在做map reduce的时候遇到这种问题,用他指定的用户去执行mapreduce就行。比如他要求hdfs,我们就用hdfs用户执行,代码如下:

System.setProperty("HADOOP_USER_NAME", "hdfs");

 

 

第一步:

解决方法:

  到服务器上修改hadoop的配置文件:conf/hdfs-core.xml, 找到 dfs.permissions 的配置项 , 将value值改为 false

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

注意,实验平台可以这么设置,但是工作中,不能这样,这样不安全。

如果还是不行,就是dfs没有权限

第二步:

产生问题原因:

      环境hadoop2,cdh5创建

      使用hadoop fs -mkdir /usr/xxx创建文件路径时,出现权限问题

===========================================================

1.hadoop fs -ls /user

      检查这个路径下面的用户权限学习

       drwxrwxrwt   - yarn hadoop          0 2014-09-03 11:58 /user/history

       drwxr-xr-x   - hdfs hadoop          0 2014-09-03 12:00 /user/spark

    其中:yarn--创建人,hadoop ---组,而root用户属于访客类型的

2.使用hdfs这个用户登录

   sudo -uhdfs hadoop fs -mkdir /usr/

3.通过hdfs用户更改所在用户的权限

  sudo -uhdfs hadoop fs -chown 用户:用户组 /usr

比如过我们是root用户,可以用命令 groups root ,查看root用户的组,得到组也是root现在更改用户的权限

sudo -uhdfs hadoop fs -chown root:root /usr

再用命令 hadoop  fs -ls /  可以看到 目录 /usr,用户名是root,用户组是root

就搞定了。
 

 

 

 

 

转载于:https://my.oschina.net/u/2293326/blog/519446

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值