hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daryn Sharp (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAPREDUCE-5217) DistCp fails when launched by Oozie in a secure cluster
Date Fri, 10 May 2013 19:41:16 GMT

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

Daryn Sharp commented on MAPREDUCE-5217:
----------------------------------------

Boilerplate code like this is _wrong_, at least for versions later than 1.x.

It's unreasonable to expect every tool that might be run within the context of a job to be
aware of the internal implementation details of both the UGI (its env var) and mapreduce.job.credentials.binary.
 I'd personally like to see the conf key removed.

If a tools wants to control its token set, my opinion is it should create a new UGI for the
submission.  The vast majority of tools, like distcp, have no need for special logic just
in case its running within a job.
                
> DistCp fails when launched by Oozie in a secure cluster
> -------------------------------------------------------
>
>                 Key: MAPREDUCE-5217
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5217
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: distcp, security
>    Affects Versions: trunk, 1.1.2, 2.0.4-alpha
>         Environment: Hadoop secure cluster
>            Reporter: Venkat Ranganathan
>            Assignee: Venkat Ranganathan
>         Attachments: MAPREDUCE-5217-branch-1.patch, MAPREDUCE-5217-branch-1.patch.2,
MAPREDUCE-5217-branch-1.patch.3, MAPREDUCE-5217-trunk.patch, MAPREDUCE-5217-trunk.patch, MAPREDUCE-5217-trunk.patch.2,
MAPREDUCE-5217-trunk.patch.3
>
>
> As mentioned in MAPREDUCE-4324, Oozie has the following boilerplate code in
> in the main launcher for Pig, Hive, MR and Sqoop actions.
> if (System.getenv("HADOOP_TOKEN_FILE_LOCATION") != null) {
>             jobConf.set("mapreduce.job.credentials.binary", System.getenv("HADOOP_TOKEN_FILE_LOCATION"));
> }
> For Java action, which does not have a main launcher in oozie, the above codecan be added
by the user as the user purportedly has the code that is launched.
> But for DistCp action, the user has no such luxury.  The solution attempted in
> MAPREDUCE-4324 would have helped DistCp, but it was not implemented as it would break
MAPREDUCE-3727.  So, we have to fix DistCp and
> add the same boilerplate code so that DistCp action can be launched by Oozie
> in a secure cluster.
> The code added checks for an System env. variable to be set which is not
> typically set in normal command line execution of DistCp,  DistCp runs fine
> with commnad  line usage both in secure and non-secure cluster.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message