You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Krishna Ramachandran (JIRA)" <ji...@apache.org> on 2010/08/06 23:12:17 UTC

[jira] Commented: (MAPREDUCE-1736) S3 File Permissions

    [ https://issues.apache.org/jira/browse/MAPREDUCE-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12896159#action_12896159 ] 

Krishna Ramachandran commented on MAPREDUCE-1736:
-------------------------------------------------

it appears "owner" string is empty in your case - the code that threw this exception is below

    if (fs.exists(stagingArea)) {
      FileStatus fsStatus = fs.getFileStatus(stagingArea);
      String owner = fsStatus.getOwner();
      if (!(owner.equals(currentUser) || owner.equals(realUser)) || 
          !fsStatus.getPermission().equals(JOB_DIR_PERMISSION)) {
         throw new IOException("The ownership/permissions on the staging " +
                      "directory " + stagingArea + " is not as expected. " + 
                      "It is owned by " + owner + " and permissions are "+ 
                      fsStatus.getPermission() + ". The directory must " +
                      "be owned by the submitter " + currentUser + " or " +
                      "by " + realUser + " and permissions must be rwx------");
      }
    } else {

can you check who owns your stagingArea (example, /user/root/.staging)

if you clean the stagingarea can you submit successfully?


> S3 File Permissions
> -------------------
>
>                 Key: MAPREDUCE-1736
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1736
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 0.22.0
>         Environment: Hadoop cluster using 3 small Amazon EC2 machines and the S3FileSystem.
> Hadoop compiled from latest trunc: 0.22.0-SNAPSHOT
> core-site:
> fs.default.name=s3://my-s3-bucket
> fs.s3.awsAccessKeyId=[key id omitted]
> fs.s3.awsSecretAccessKey=[secret key omitted]
> hadoop.tmp.dir=/mnt/hadoop.tmp.dir
> hdfs-site: empty
> mapred-site:
> mapred.job.tracker=[domU-XX-XX-XX-XX-XX-XX.compute-1.internal:9001]
> mapred.map.tasks=6
> mapred.reduce.tasks=6
>            Reporter: Danny Leshem
>            Priority: Blocker
>             Fix For: 0.22.0
>
>
> Till lately I've been using 0.20.2 and everything was ok. Now I'm using the latest trunc 0.22.0-SNAPSHOT and getting the following thrown:
> Exception in thread "main" java.io.IOException: The ownership/permissions on the staging directory s3://my-s3-bucket/mnt/hadoop.tmp.dir/mapred/staging/root/.staging is not as expected. It is owned by  and permissions are rwxrwxrwx. The directory must be owned by the submitter root or by root and permissions must be rwx------
>     at
> org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:107)
>     at
> org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:312)
>     at org.apache.hadoop.mapreduce.Job.submit(Job.java:961)
>     at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:977)
>     at com.mycompany.MyJob.runJob(MyJob.java:153)
>     at com.mycompany.MyJob.run(MyJob.java:177)
>     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
>     at com.mycompany.MyOtherJob.runJob(MyOtherJob.java:62)
>     at com.mycompany.MyOtherJob.run(MyOtherJob.java:112)
>     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
>     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
>     at com.mycompany.MyOtherJob.main(MyOtherJob.java:117)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at org.apache.hadoop.util.RunJar.main(RunJar.java:187)
> (The "it is owned by ... and permissions " is not a mistake, seems like the empty string is printed there)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.