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

发布时间:2024-12-11 05:39

使用Grammarly检查远程邮件和报告的语法错误 #生活技巧# #工作学习技巧# #远程办公工具#

最新推荐文章于 2024-09-25 11:11:57 发布

RayBreslin 于 2020-02-29 09:44:18 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

一、问题描述

使用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用户名操作对应文件~

网址:Hadoop远程调试删除文件报错:org.apache.hadoop.security.AccessControlException: Permission denied: user= https://www.yuejiaxmz.com/news/view/440974

相关内容

Hive加载数据报相关权限问题
启动系统服务clickhouse报错clickhouse
Mac下安装MariaDB. 连接出现Access denied for user 'root'@'localhost' (using password: YES)
PowerBuilder连接SQLServer失败 SQL State:‘28000’
【Python】Python连接Hadoop数据中遇到的各种坑(汇总)
postgres
错误:无法完成程序集的设置(hr = 0x8007000b)。探测终止
免费的标注工具推荐: X
Linux下快速删除大量文件/文件夹方法
如何根据错误码信息来定位问题

随便看看