Andrew Robertson created YARN-4112:
--------------------------------------

             Summary: YARN HA secondary-RM/NM redirect not parseable by 
Ambari/curl in a Kerberoized deployment
                 Key: YARN-4112
                 URL: https://issues.apache.org/jira/browse/YARN-4112
             Project: Hadoop YARN
          Issue Type: Bug
          Components: nodemanager, resourcemanager
    Affects Versions: 2.6.0
            Reporter: Andrew Robertson
            Priority: Minor


The secondary-RM-to-primary-RM (and NM) redirect issued by YARN in a 
kerberoized cluster is not a proper (http-location-301-style) redirect, thus 
Ambari - which uses curl - does not find the "right" node.  This, in turn, is 
triggering alerts in Ambari.

A network dump of the ambari poll against the secondary RM looks like:

Request:
"""
GET /jmx?qry=Hadoop:service=ResourceManager,name=RMNMInfo HTTP/1.1
...
"""

Response:
"""
HTTP/1.1 200 OK
...
Refresh: 3; url=http://{my-primary-rm}:8088/jmx
Content-Length: 106
Server: Jetty(6.1.26.hwx)

This is standby RM. Redirecting to the current active RM:
http://{my-primary-rm}:8088/jmx
"""

Comment from Jonathan Hurley [email protected] -
---
This is caused by how YARN does HA mode. With two YARN RMs, the standby RM 
returns a 200 response with a JavaScript redirect instead of an 3xx 
redirection. When not using Kerberos, Ambari should be able to parse the 
headers and follow the JS-based redirect. However, on a Kerberized cluster, we 
use curl which cannot do this. Therefore, requests against the secondary RM 
will return an UNKNOWN response since it did get a 200. I think a few things 
can be improved here:

1) There should be a ticket filed for YARN to have their HA mode use a proper 
redirect
2) Ambari might not want to produce an UNKNOWN response here since it gives a 
false feeling that something went wrong.
---

I've also filed AMBARI-12995 with the ambari team.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to