[
https://issues.apache.org/jira/browse/OOZIE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Kanter updated OOZIE-1526:
---------------------------------
Attachment: OOZIE-1526.patch
Reattaching same patch; looks like Jenkins had some svn problem and didn't even
post a comment here.
> Oozie does not work with a secure HA JobTracker or ResourceManager
> ------------------------------------------------------------------
>
> Key: OOZIE-1526
> URL: https://issues.apache.org/jira/browse/OOZIE-1526
> Project: Oozie
> Issue Type: Bug
> Components: security
> Affects Versions: trunk, 3.3.1, 3.3.2, 4.0.0
> Reporter: Robert Kanter
> Assignee: Robert Kanter
> Attachments: OOZIE-1526.patch, OOZIE-1526.patch
>
>
> HadoopAccessorService#getMRTokenRenewerInternal handles getting the
> delegation token for the JT/RM. OOZIE-1159 modified this slightly and it now
> tries to parse the JT/RM address to get the hostname. However, if you try to
> use JT HA (which isn't in vanilla Hadoop), it uses a logical name (e.g.
> "ha-jt-uri") just like we do with HDFS HA. As such, when
> HadoopAccessorService tries to do
> {code:java}
> String addr = NetUtils.createSocketAddr(target).getHostName();
> {code}
> it will get an exception:
> {noformat}
> Caused by: java.lang.IllegalArgumentException: Does not contain a valid
> host:port authority: ha-jt-uri
> at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:211)
> at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:163)
> at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:152)
> at
> org.apache.oozie.service.HadoopAccessorService.getMRTokenRenewerInternal(HadoopAccessorService.java:484)
> at
> org.apache.oozie.service.HadoopAccessorService.getMRDelegationTokenRenewer(HadoopAccessorService.java:463)
> at
> org.apache.oozie.service.HadoopAccessorService.createJobClient(HadoopAccessorService.java:374)
> at
> org.apache.oozie.action.hadoop.JavaActionExecutor.createJobClient(JavaActionExecutor.java:991)
> at
> org.apache.oozie.action.hadoop.JavaActionExecutor.submitLauncher(JavaActionExecutor.java:743)
> ... 10 more
> {noformat}
> because there isn't a host or port in the logical name.
> Once RM HA is done (which will be in vanilla Hadoop), it will use a logical
> name just like JT HA, and will run into the same problem. I think we can fix
> this by having it fall back to the old behavior when it gets the
> IllegalArgumentException.
--
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