Permission denied: user=Administrator, access=WRITE
2015-08-21 14:26
681 查看
关键代码为:
if (!isSecurityEnabled() && (user == null)) {
String envUser = System.getenv(HADOOP_USER_NAME);
if (envUser == null) {
envUser = System.getProperty(HADOOP_USER_NAME);
}
user = envUser == null ? null : new User(envUser);
}
解决办法大概有三种:
1、在系统的环境变量或java JVM变量里面添加HADOOP_USER_NAME,这个值具体等于多少看自己的情况,以后会运行HADOOP上的Linux的用户名。(修改完重启eclipse生效)
2、将当前系统的帐号修改为hadoop
3、使用HDFS的命令行接口修改相应目录的权限,hadoop fs -chmod 777 /user,后面的/user是要上传文件的路径,不同的情况可能不一样,比如要上传的文件路径为hdfs://namenode/user/xxx.doc,则这样的修改可以,如果要上传的文件路径为hdfs://namenode/java/xxx.doc,则要修改的为hadoop fs -chmod 777 /java或者hadoop fs -chmod 777 /,java的那个需要先在HDFS里面建立Java目录,后面的这个是为根目录调整权限。
相关文章推荐
- M3U8简介
- 使用7zip压解各种文件的常用命令
- remove all the same elements
- Java中取资源时,Class.getResource和ClassLoader.getResource
- Android中验证输入是否为汉字及手机号,邮箱验证
- 【ODPS】UDF基础
- HDU 5407 CRB and Candies(LCM +最大素因子求逆元)
- HDU 1248:寒冰王座【Floyd & 完全背包】
- Spring bean reference example
- Linux常用命令
- 退出(C# Winform)
- 03-树2. List Leaves (25)
- UVA 10082 WERTYU
- 你应该掌握的七种回归技术
- 初识ps君记录~~
- 代码注释技术
- APP发布
- Android颜色代码
- 【Base64】JDK里面实现Base64的API
- spring定时器