[ 
https://issues.apache.org/jira/browse/HDFS-1333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13046202#comment-13046202
 ] 

Wouter de Bie commented on HDFS-1333:
-------------------------------------

I've experienced the same error on 0.20.2 (cloudera's cdh3u0) when submitting a 
job and restarting the JobTracker. In both cases, the ownership of paths is 
checked.

For the quick and dirty solution, I've patched 
core/org/apache/hadoop/fs/s3/S3FileSystem.java and added the following method 
to the S3FileStatus inner class:

{noformat}
public String getOwner() {
  return System.getProperty("user.name");
}   
{noformat}

For my use case this works, but it probably should use proper acl stuff.


> S3 File Permissions
> -------------------
>
>                 Key: HDFS-1333
>                 URL: https://issues.apache.org/jira/browse/HDFS-1333
>             Project: Hadoop HDFS
>          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: Critical
>
> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to