You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Robert Kanter (JIRA)" <ji...@apache.org> on 2013/09/12 22:37:54 UTC
[jira] [Created] (OOZIE-1526) Oozie does not work with a secure HA
JobTracker or ResourceManager
Robert Kanter created OOZIE-1526:
------------------------------------
Summary: 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: 4.0.0, 3.3.2, 3.3.1, trunk
Reporter: Robert Kanter
Assignee: Robert Kanter
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