博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop远程调试删除文件报错:org.apache.hadoop.security.AccessControlException: Permission denied: user=
阅读量:4280 次
发布时间:2019-05-27

本文共 1106 字,大约阅读时间需要 3 分钟。

一、问题描述

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

转载地址:http://qcygi.baihongyu.com/

你可能感兴趣的文章
Eclipse连接android7.0+ 手机无日志问题解决
查看>>
android拍照相册工具类
查看>>
分享一些职业规划的思路
查看>>
【甘道夫】info could only be replicated to 0 nodes, instead of 1
查看>>
【伊利丹】Hadoop2.0 NN HA实验记录
查看>>
ActiveMQ应用笔记四:Ajax应用
查看>>
【甘道夫】Hadoop培训讲义
查看>>
AIDL
查看>>
Mybatis获取刚插入数据库中的记录的ID(MYSQL)
查看>>
CentOs5.5 卸载 及 安装 MYSQL 的经验
查看>>
Linux下安装好apache和PHP后出现you don't have permission to access / on this server
查看>>
Java annotation
查看>>
SVN Ubuntu创建仓库
查看>>
spring与mybatis项目出现 java.lang.NumberFormatException: For input string: "${jdbc.ma
查看>>
Nginx学习笔记
查看>>
使用Squid搭建局域网视频缓存代理
查看>>
POI读取word2003和word2007
查看>>
使用Squid搭建内网视频缓存系统
查看>>
Tomcat 开启GZIP压缩网页
查看>>
malloc 详解
查看>>