Uploaded image for project: 'Hadoop Map/Reduce'
  1. Hadoop Map/Reduce
  2. MAPREDUCE-3470

Jobtracker sets permissions on mapred.system.dir to 700 preventing non-superusers from submitting jobs to multi-user cluster

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 0.20.205.0, 1.0.0
    • Fix Version/s: 1.2.0
    • Component/s: jobtracker
    • Labels:
      None
    • Environment:

      Debian 6.0 x64_64
      java version "1.6.0_26"
      Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
      Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

      Description

      (See thread discussing here - https://mail-archives.apache.org/mod_mbox/hadoop-common-user/201111.mbox/%3C4EBAC2B3.6090806@deri.org%3E)

      I have installed a hadoop 0.20.205.0 cluster for use by multiple users, each of which will submit their jobs from remote client systems. I have disabled security

      <property>
      <name>hadoop.security.authorization</name>
      <value>false</value>
      </property>

      <property>
      <name>hadoop.security.authentication</name>
      <value>simple</value>
      </property>

      When a user other than super-user attempts to submit a job, they get the following error

      11/11/09 16:32:53 INFO mapred.FileInputFormat: Total input paths to process : 2
      11/11/09 16:32:53 INFO mapred.JobClient: Running job: job_201111091731_0003
      11/11/09 16:32:54 INFO mapred.JobClient: map 0% reduce 0%
      11/11/09 16:32:54 INFO mapred.JobClient: Job complete: job_201111091731_0003
      11/11/09 16:32:54 INFO mapred.JobClient: Counters: 0
      11/11/09 16:32:54 INFO mapred.JobClient: Job Failed: Job initialization failed:
      org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=smulcahy, access=EXECUTE, inode="system":hadoop:supergroup:rwx------
      .....

      which seems to be due to not being able to create a jobToken file in <mapred.system.dir>/<job id>/jobToken

      I can reset the permissions on mapred.system.dir to something like 777 but when I restart the jobtracker, it resets the permissions back to 700, requiring another permissions reset.

      This gives rise to a few questions,

      1. Should I be able to use a hadoop cluster in this fashion or is this not supported (if not, supported, I guess close this bug as invalid). If it is not supported, it reduces the usability of hadoop for a class of users like myself (but maybe thats a small class).
      2. If I should be able to use the cluster like this, should <mapred.system.dir>/<job id>/jobToken need to be created if security is disabled? If no, then I guess is the bug that needs to be fixed. If yes, then the jobtracker needs to be modified to allow everyone to create dirs in mapred.system.dir (or the method of creation of the jobToken file needs to be changed).

      Apologies if this was operator error but I didn't get much feedback on the mailing lists so not sure where/how else to raise this.

      Changed introduced in MAPREDUCE-2219

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                smulcahy stephen mulcahy
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: