I have been able to set up the streaming example with python mapper & reducer. The mapred folder location is /mapred/local/taskTracker both root & mapred users have the ownership to this folder & sub folders
however when I run my streaming it creates maps but no reduces and gives the following error Cannot Run Program /mapred/local/taskTracker/root/jobcache/job_201303071607_0035/attempt_201303071607_0035_m_000001_3/work/./mapper1.py Permission Denied
I noticed that though it have provided a+rwx permission to mapred/local/taskTracker and all its sub directories, when mapreduce creates the temp folders for this job, the folders do not have the rwx for all users ...and hence I get the permission denied error
I have been looking for forum threads on this, and though there are threads mentioning the same error ...I could not find any responses with resolutions.
any help would be greatly appreciated
I assume that you run your Hadoop daemons as user
root
. In this case the permissions of newly created files are determined by theumask
of userroot
. However you must not change theumask
forroot
.If you'd like to run MapReduce jobs and cluster as different users, it would be better to start the Hadoop daemons as user
hadoop
and the MapReduce jobs as usermapreduce
. However both users should belong to the same group, i.e.hadoop
. Furthermore theumask
for userhadoop
shall be set accordingly.