eclipse使用JavaAPI操纵Hadoop的HDFS文件系统时提示权限不足的解决方案
2018-02-21 14:19
344 查看
初学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.set("fs.defaultFS", "hdfs://192.168.106.128:9000");
//第一个参数为URI,第二个参数为前面设置的参数,第三个参数为需要传递的用户名
//fs = FileSystem.get(uri, conf, user)
fs = FileSystem.get(new URI("hdfs://192.168.106.128:9000"), conf, "hadoop");
解决方案2,get方法依然选择只有一个参数的构造器,那么此时需要在运行的时候,选择Run configurations里向JVM输入一个用户信息:此处参数的值为hadoop依然是因为我集群中的用户名为hadoop
解决方案3:为windows新建一个与hadoop集群中用户名一样的用户名,不推荐
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.set("fs.defaultFS", "hdfs://192.168.106.128:9000");
//第一个参数为URI,第二个参数为前面设置的参数,第三个参数为需要传递的用户名
//fs = FileSystem.get(uri, conf, user)
fs = FileSystem.get(new URI("hdfs://192.168.106.128:9000"), conf, "hadoop");
解决方案2,get方法依然选择只有一个参数的构造器,那么此时需要在运行的时候,选择Run configurations里向JVM输入一个用户信息:此处参数的值为hadoop依然是因为我集群中的用户名为hadoop
解决方案3:为windows新建一个与hadoop集群中用户名一样的用户名,不推荐
相关文章推荐
- STS或者eclipse连接hadoop上的HDFS文件系统
- 在VMWare Workstation上使用RedHat Linux安装和配置Hadoop群集环境05_HDFS文件系统和Mapreduce框架的启动和运行
- Hadoop硬实战之一:使用flume将系统日志文件导入HDFS
- 【hadoop】 java客户端 使用append方法添加文件时报hdfs空间不足
- Win10系统打开共享文件提示没有权限使用网络资源怎么处理?
- Hadoop 基本API 使用 -- 从HDFS文件系统 上读取文件
- 使用JavaAPI操作HDFS系统中的文件及文件夹
- Win8.1系统删除文件时遇到“文件访问被拒,权限不足”提示的解决办法
- hadoop-3.0.0-beta1运维手册(008):hdfs3.0.0基本操作-查看HDFS文件系统、查看文本文件、使用帮助
- 在 远程桌面 权限不足无法控制 UAC 提示时,可使用 计划任务 绕开系统的 UAC 提示
- 使用HDFS API实现hadoop HDFS文件系统的基本操作
- 配置 JobhistoryServer 历史服务器,日志聚集功能,HDFS 文件系统用户权限检查,取消HDFS警告提示
- Linux系统使用笔记(文件权限与目录配置)--鸟哥的私房菜
- 在eclipse3.7中配置hadoop1.0.1插件 Hadoop 源码分析 使用java api操作Hadoop文件
- ubuntu11.10下eclipse提示框背景色为黑色的解决方案(编辑修改系统主题)
- 用FUSE挂载hadoop的hdfs文件系统
- com.microsoft.sqlserver.jdbc.SQLServerException: 系统内存不足。请对大型 ResultSet 使用服务器端游标:解决方案
- Hadoop Hdfs 配置 挂载hdfs文件系统
- windows下通过URI操作hdfs提示权限不足解决办法
- 选择 NET Framework 3.5 SP1 系统必备,ClickOnce 发布提示缺少文件的解决方案