在IDEA运行Hadoop HDFS操作时,出现问题,报错如下:
org.apache.hadoop.security.AccessControlException: Permission denied: user=XXXX, access=WRITE, inode="/":root:supergroup:drwxr-xr-x
因为本机的用户名和linux操作系统的root用户名不同,所以会报错。
在Linux系统下,找到安装Hadoop的目录,找到该目录下的etc/hadoop/hdfs-site.xml
dfs.permissions.enabled false If "true", enable permission checking in HDFS. If "false", permission checking is turned off, but all other behavior is unchanged. Switching from one parameter value to the other does not change the mode, owner or group of files or directories.
添加如上代码,重启集群,在运行就没问题了。
解决方案:终极代码,一行解决。
在Java代码中添加System.setProperty("HADOOP_USER_NAME","root");,设置客户机的权限,以具备在HDFS上进行操作。即可



