Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
2.6.0
-
None
-
None
Description
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://
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 jhurley@hortonworks.com -
—
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.
Attachments
Issue Links
- duplicates
-
YARN-2605 [RM HA] Rest api endpoints doing redirect incorrectly
- Closed
- relates to
-
AMBARI-12995 Ambari alerts reports "UNKNOWN" error for secondary YARN RM and NM in a kerberoized YARN HA deployment
- Open