Hadoop远程调试删除文件报错:org.apache.hadoop.security.AccessControlException: Permission denied: user=

25 篇文章 1 订阅

一、问题描述

使用Idea操作hdfs上文件,进行文件删除,结果报错因为用户名没有权限,而无法操作对应文件

[ERROR] 09:13:32.239 [main] ERROR com.hadoop.hdfs.HdfsApi - HdfsApi delete IOException
org.apache.hadoop.security.AccessControlException: Permission denied: user=Lenovo, access=WRITE, inode="/upload/2020/2/26":upload:upload:drwxr-xr-x
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkFsPermission(DefaultAuthorizationProvider.java:279)
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:260)
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:240)
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkPermission(DefaultAuthorizationProvider.java:165)

二、问题原因

程序取得用户名,默认是本地windows系统的登陆用户名,所以,无法去操作hdfs上的文件,因为hdfs上的文件有权限控制。解决问题的方法,一是或者把hdfs上文件权限全部改为777;二是修改hadoop配置文件hdsf-site.xml的dfs.permissions.enabled设置为false不检测;三是修改本地windows用户名;四是修改Idea的vm环境中操作hdfs的用户名。毫无疑问,方法四修改VM用户名会更加方便而且安全。

三、解决步骤

1.修改程序的配置

2.在Environment variables处添加变量:HADOOP_USER_NAME=upload,即可


3.重新运行程序即可以upload用户名操作对应文件~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值