Description: After programming with Eclipse for Hadoop under Windows, and then run on Hadoop, the following error occurred:
11/10/28 16:05:53 INFO mapred. Jobclient:running job:job_201110281103_0003
11/10/28 16:05:54 INFO mapred. Jobclient:map 0% Reduce 0%
11/10/28 16:06:05 INFO mapred. Jobclient:task Id:attempt_201110281103_0003_m_000002_0, status:failed
Org.apache.hadoop.security.AccessControlException:org.apache.hadoop.security.AccessControlException:Permission Denied:user=drwho, Access=write, inode= "Hadoop": hadoop:supergroup:rwxr-xr-x
At Sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method)
At Sun.reflect.NativeConstructorAccessorImpl.newInstance (nativeconstructoraccessorimpl.java:39)
Workaround:
To modify the Hadoop configuration file on the server: Conf/hdfs-core.xml, locate the configuration entry for dfs.permissions, and change the value to False
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>
If "true", enable permission checking in HDFS.
If "false", permission checking is turned off,
behavior is unchanged.
Switching from one parameter value to the other does the mode,
Owner or group of files or directories.
</description>
</property>
Modify the process that seems to restart Hadoop to take effect
Development environment: Win XP SP3, Eclipse 3.3, hadoop-0.20.2
Hadoop Server deployment environment: Ubuntu 10.10, hadoop-0.20.2
Summary: Contact Hadoop not long, do not know how this modification to the security of the cluster impact.
Add:
Because Eclipse uses the Hadoop plug-in to submit jobs, the job is written to the HDFs file system by default as DrWho, corresponding to the/user/xxx on HDFs, my/user/hadoop, because DrWho The user does not have write access to the Hadoop directory, causing the exception to occur. The workaround provided is to release the permissions for the Hadoop directory as follows: $ Hadoop fs-chmod 777/user/hadoop
An error occurred in the Eclipse submission Hadoop program: Org.apache.hadoop.security.AccessControlException:Permission denied:user=d