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.