标签:
环境:win7 eclipse hadoop 1.1.2
当执行创建文件的的时候,
即:
fileSystem.mkdirs(Path);//想hadoop上创建一个文件报错
报错:
org.apache.hadoop.security.AccessControlException:Permission denied:user=Administrator,access=WRITE,inode="tmp":root:supergroup:rwxr-xr-x
原因:
1. 当前用户是Administrator ,不是hadoop用户
2. hadoop的默认的hdfs的文件目录是用权限
解决办法:
1. 为了使Eclipse能正常对Hadoop集群的HDFS上的文件能进行修改和删除,所以修改你工作时所用的Win7系统管理员名字,默认一般为"Administrator",把它修改为"hadoop",此用户名与Hadoop集群普通用户一致,大家应该记得我们Hadoop集群中所有的机器都有一个普通用户——hadoop,而且Hadoop运行也是用这个用户进行的。为了不至于为权限苦恼,我们可以修改Win7上系统管理员的姓名,这样就避免出现该用户在Hadoop集群上没有权限等都疼问题,会导致在Eclipse中对Hadoop集群的HDFS创建和删除文件受影响。
(1)选择"本地用户和组",展开"用户",找到系统管理员"Administrator",修改其为"hadoop",
(2)把电脑进行"注销"或者"重启电脑",这样才能使管理员才能用这个名字。
2.修改hadoop的配置
在conf/hdfs-site.xml中加入
<property>
<name>dfs.permissions</name> <value>false</value> </property>
3.修改权限:(windows用户Administrator对hadoop目录并没有写入权限)
放开 hadoop 目录的权限 , 命令如下 :$ hadoop fs -chmod 777 /user/jifeng.
eclipse 向HDFS中写入文件报错 permission denied
标签:
原文地址:http://www.cnblogs.com/nucdy/p/5679633.html