[
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