Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
MapReduce >> mail # user >> issue with permissions of mapred.system.dir


Copy link to this message
-
Re: issue with permissions of mapred.system.dir
what is your "mapreduce.jobtracker.staging.root.dir" set to. This is a directory that needs to be writable by the user and is is recommended to be set to "/user" so it writes in appropriate users home directory.

--
Arpit Gupta
Hortonworks Inc.
http://hortonworks.com/

On Oct 9, 2012, at 4:44 PM, "Goldstone, Robin J." <[EMAIL PROTECTED]> wrote:

> I am bringing up a Hadoop cluster for the first time (but am an experienced sysadmin with lots of cluster experience) and running into an issue with permissions on mapred.system.dir.   It has generally been a chore to figure out all the various directories that need to be created to get Hadoop working, some on the local FS, others within HDFS, getting the right ownership and permissions, etc..  I think I am mostly there but can't seem to get past my current issue with mapred.system.dir.
>
> Some general info first:
> OS: RHEL6
> Hadoop version: hadoop-1.0.3-1.x86_64
>
> 20 node cluster configured as follows
> 1 node as primary namenode
> 1 node as secondary namenode + job tracker
> 18 nodes as datanode + tasktracker
>
> I have HDFS up and running and have the following in mapred-site.xml:
> <property>
>   <name>mapred.system.dir</name>
>   <value>hdfs://hadoop1/mapred</value>
>   <description>Shared data for JT - this must be in HDFS</description>
> </property>
>
> I have created this directory in HDFS, owner mapred:hadoop, permissions 700 which seems to be the most common recommendation amongst multiple, often conflicting articles about how to set up Hadoop.  Here is the top level of my filesystem:
> hyperion-hdp4@hdfs:hadoop fs -ls /
> Found 3 items
> drwx------   - mapred hadoop          0 2012-10-09 12:58 /mapred
> drwxrwxrwx   - hdfs   hadoop          0 2012-10-09 13:00 /tmp
> drwxr-xr-x   - hdfs   hadoop          0 2012-10-09 12:51 /user
>
> Note, it doesn't seem to really matter what permissions I set on /mapred since when the Jobtracker starts up it changes them to 700.  
>
> However, when I try to run the hadoop example teragen program as a "regular" user I am getting this error:
> hyperion-hdp4@robing:hadoop jar /usr/share/hadoop/hadoop-examples*.jar teragen -D dfs.block.size=536870912 10000000000 /user/robing/terasort-input
> Generating 10000000000 using 2 maps with step of 5000000000
> 12/10/09 16:27:02 INFO mapred.JobClient: Running job: job_201210072045_0003
> 12/10/09 16:27:03 INFO mapred.JobClient:  map 0% reduce 0%
> 12/10/09 16:27:03 INFO mapred.JobClient: Job complete: job_201210072045_0003
> 12/10/09 16:27:03 INFO mapred.JobClient: Counters: 0
> 12/10/09 16:27:03 INFO mapred.JobClient: Job Failed: Job initialization failed:
> org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=robing, access=EXECUTE, inode="mapred":mapred:hadoop:rwx------
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:95)
> at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:57)
> at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.<init>(DFSClient.java:3251)
> at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:713)
> at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:182)
> at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:555)
> at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:536)
> at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:443)
> at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:435)
> at org.apache.hadoop.security.Credentials.writeTokenStorageFile(Credentials.java:169)
> at org.apache.hadoop.mapred.JobInProgress.generateAndStoreTokens(JobInProgress.java:3537)