Sorry....I accidentally hit the send button on the last email.
Hello all,
we're trying to set up a multi-user MapReduce cluster that doesn't use
HDFS. The idea is to use a central, shared JobTracker to which we add
or remove task trackers as needed---a sort of in-house elastic MapReduce.
Following the cluster setup documentation
(https://hadoop.apache.org/common/docs/current/cluster_setup.html#Site+Configuration)
, we have set up the LinuxTaskController and it seems to be working. The
problem we're having at the moment is the following.
The JT is running as one user, while jobs are being submitted by others.
The JT isn't able to read the job files created by the client in the
staging directory because the job directory has permissions set to 700.
If we try to change the permissions, we get an error like the one below.
Any ideas on how to solve this problem? Thanks in advance...
[sbsuser@entu225 ~]$ /SHARE/USERFS/els7/users/muggiri/seal-0.3.1-rc1/bin/prq
/SHARE/USERFS/els7/users/muggiri/qseq /SHARE/USERFS/els7/users/muggiri/prq_out13
Using hadoop executable /SHARE/USERFS/els6/HADOOP_intest/hadoop_sw/bin/hadoop
Warning: $HADOOP_HOME is deprecated.
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use
org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
12/05/15 17:39:39 ERROR security.UserGroupInformation:
PriviledgedActionException as:sbsuser cause:java.io.IOException: The
ownership/permissions on the staging directory
file:/SHARE/USERFS/els7/users/muggiri/HADOOP_intest/hadoop_fs/mapred/staging/sbsuser/.staging
is not as expected. It is owned by sbsuser and permissions are rwxr-xr-x. The
directory must be owned by the submitter sbsuser or by sbsuser and permissions
must be rwx------
Exception in thread "main" java.io.IOException: The ownership/permissions on
the staging directory
file:/SHARE/USERFS/els7/users/muggiri/HADOOP_intest/hadoop_fs/mapred/staging/sbsuser/.staging
is not as expected. It is owned by sbsuser and permissions are rwxr-xr-x. The directory
must be owned by the submitter sbsuser or by sbsuser and permissions must be rwx------
at
org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:108)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:856)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:500)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530)
at it.crs4.seal.prq.PairReadsQSeq.run(Unknown Source)
at it.crs4.seal.common.SealToolRunner.run(Unknown Source)
at it.crs4.seal.prq.PairReadsQSeq.main(Unknown Source)
Error running PRQ
[sbsuser@entu225 ~]$ /SHARE/USERFS/els7/users/muggiri/seal-0.3.1-rc1/bin/prq
/SHARE/USERFS/els7/users/muggiri/qseq /SHARE/USERFS/els7/users/muggiri/prq_out13
Using hadoop executable /SHARE/USERFS/els6/HADOOP_intest/hadoop_sw/bin/hadoop
Warning: $HADOOP_HOME is deprecated.
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use
org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
12/05/15 17:40:08 INFO util.NativeCodeLoader: Loaded the native-hadoop library
****file:/SHARE/USERFS/els7/users/muggiri/qseq
12/05/15 17:40:08 INFO input.FileInputFormat: Total input paths to process : 2
12/05/15 17:40:08 INFO mapred.JobClient: Cleaning up the staging area
file:/SHARE/USERFS/els7/users/muggiri/HADOOP_intest/hadoop_fs/mapred/staging/sbsuser/.staging/job_201205151739_0001
12/05/15 17:40:08 ERROR security.UserGroupInformation:
PriviledgedActionException as:sbsuser
cause:org.apache.hadoop.ipc.RemoteException: java.io.IOException:
java.io.FileNotFoundException: File
file:/SHARE/USERFS/els7/users/muggiri/HADOOP_intest/hadoop_fs/mapred/staging/sbsuser/.staging/job_201205151739_0001/job.xml
does not exist.
at org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:3943)
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.ipc.RPC$Server.call(RPC.java:563)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
Caused by: java.io.FileNotFoundException: File
file:/SHARE/USERFS/els7/users/muggiri/HADOOP_intest/hadoop_fs/mapred/staging/sbsuser/.staging/job_201205151739_0001/job.xml
does not exist.
at
org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:397)
at
org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251)
at org.apache.hadoop.mapred.JobInProgress.<init>(JobInProgress.java:406)
at org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:3941)
... 11 more
Exception in thread "main" org.apache.hadoop.ipc.RemoteException:
java.io.IOException: java.io.FileNotFoundException: File
file:/SHARE/USERFS/els7/users/muggiri/HADOOP_intest/hadoop_fs/mapred/staging/sbsuser/.staging/job_201205151739_0001/job.xml
does not exist.
at org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:3943)
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.ipc.RPC$Server.call(RPC.java:563)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
Caused by: java.io.FileNotFoundException: File
file:/SHARE/USERFS/els7/users/muggiri/HADOOP_intest/hadoop_fs/mapred/staging/sbsuser/.staging/job_201205151739_0001/job.xml
does not exist.
at
org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:397)
at
org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251)
at org.apache.hadoop.mapred.JobInProgress.<init>(JobInProgress.java:406)
at org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:3941)
... 11 more
at org.apache.hadoop.ipc.Client.call(Client.java:1066)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
at org.apache.hadoop.mapred.$Proxy1.submitJob(Unknown Source)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:921)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:500)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530)
at it.crs4.seal.prq.PairReadsQSeq.run(Unknown Source)
at it.crs4.seal.common.SealToolRunner.run(Unknown Source)
at it.crs4.seal.prq.PairReadsQSeq.main(Unknown Source)
Error running PRQ
[sbsuser@entu225 ~]$
--
Luca Pireddu
CRS4 - Distributed Computing Group
Loc. Pixina Manna Edificio 1
09010 Pula (CA), Italy
Tel: +39 0709250452