问题来了哦:
org.apache.hadoop.security.AccessControlException: Permission denied: user=bruce, access=WRITE, inode="/out2/_temporary/0":atguigu:supergroup:drwxr-xr-x
出现了这样一串报错:提示你没有访问权限!!!!!
解决办法:
public class DatasetJava {
public static void main(String[] args) throws IOException, URISyntaxException, InterruptedException {
Configuration configuration = new Configuration();
FileSystem fs = FileSystem.get(new URI("hdfs://linux1:9000"),configuration,"hadoop");
}
}
1.在设置的get()方法中,添加一个用户,给定权限!
2.设置整个虚拟机的访问权限,进入hadoop安装目录下的,打开 conf/hdfs-site.xml,找到 dfs.permissions 属性修改为 false(默认为true),然后配置分发到其它节点,然后重启集群!即可!!
3.因为 Eclipse 使用 hadoop 插件提交作业时,会默认以 当前主机的用户名 的身份去将作业写入 HDFS 文件系统中,由于 当前主机的用户名 对 hadoop 目录并没有写入权限,所以导致异常的发生。
解决方法为:放开 hadoop 目录的权限 ,命令如下 :$ hadoop fs -chmod 777 / # 表示为整个根目录开放权限,不推荐此法!