(自用小结)错误描述:Permission denied: user=dr.who, access=WRITE, inode=“/“:hadoop:supergroup:drwxr-xr-x

一开始四处搜索原因跟解决办法,大多数都是下面提到的两种办法,但是也碰到了一个大坑,属于是新手连环套了。。
翻阅了多个解决办法之后定位到是web用户默认使用的dr.who登录导致,一直纠结这个dr.who的设置,结果在hadoop3.2.1中一直没找到core-default.xml的配置,找了其他xml也没发现网上所谓的hadoop.http.staticuser.user=dr.who配置,最后只能先尝试使用了搜到的两种办法

一是直接修改/tmp目录的权限设置,操作如下,
[hadoop@server master]$ hdfs dfs -chmod -R 755 /
然后就可以正常访问/tmp目录下的文件了, 结果这法子使用了之后没生效。

二是我们可以通过修改core-site.xml,配置为当前用户,文件在hadoop根目录etc/hadoop下。

在configuration内添加即可
添加了之后,需要重启集群。重点来了。。。。
因为当时集群架设了很久一直没管,所以这次进行重启的时候完全没发现压根关不上节点。。
关闭集群的时候,一定要用jps检查,一定要用jps检查,一定要用jps检查。

查阅之后发现原因是因为机器的关闭机制是参阅的root指定的pid,是一个文件,默认保存在tmp下,而linux每30天会去清理这个tmp下的文件,导致文件删除也就没了pid也就关闭不了了。。

解决这个问题的办法是直接用kill -9 关闭进程,然后在根目录etc/hadoop下的 hadoop-env.sh中找到HADOOP_PID_DIR 设置相应路径后就不会再被清理了!hadoop-env.sh中进行设置

第三个解决方案是修改HDFS的检查条件,但是不推荐。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值