初学Hadoop,在初步掌握了命令行操作Hadoop的HDFS最基本操作后,尝试用JavaAPI进行简单的HDFS操作,期间出了很多问题,例如,在调用hadoop的JavaAPI中的FileSystem类 的get方法的时候,如果选择有一个参数的构造器,运行会提示权限不足,错误信息部分如下:
org.apache.hadoop.security.AccessControlException: Permission denied: user=wyw, access=WRITE, inode="/access.2":hadoop:supergroup:-rw-r--r--
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkFsPermission(FSPermissionChecker.java:271).......
此处,我在windows中的用户名为wyw,而hadoop集群中的用户名为hadoop,而集群中的hdfs文件系统中相应的文件夹没有赋予其他用户读写权限,所以会提示这个错误,可以选择更改集群中文件系统中相应文件夹的权限,但此处给出一个以集群中的用户身份信息去进行相关操作的解决方案。
解决方案1:在调用hadoop的JavaAPI中的FileSystem类 的get方法的时候,选择有三个构造参数的,
Configuration conf = new Configuration();
conf.se