SUYEON LEE created YARN-11821:
---------------------------------

             Summary: Support pattern matching for YARN proxy addresses.
                 Key: YARN-11821
                 URL: https://issues.apache.org/jira/browse/YARN-11821
             Project: Hadoop YARN
          Issue Type: Bug
          Components: nodemanager, router
    Affects Versions: 3.4.1
            Reporter: SUYEON LEE
         Attachments: 스크린샷 2025-02-20 오후 6.14.27.png

*Issue:*

In a YARN Federation environment utilizing multiple YARN Routers, if a Global 
Server Load Balancer (GSLB) is used for distributing requests to these Routers 
_without_ sticky session support, users encounter redirection errors.

!스크린샷 2025-02-20 오후 6.14.27.png!

These errors typically manifest when accessing application UIs or logs via the 
NodeManager's proxy.

*Problem Details:*

The root cause of this issue lies in how the NodeManager (NM) resolves the YARN 
Router address for proxying web requests. The NodeManager uses the 
{{yarn.web-proxy.address}} configuration property to determine the Router's 
address. However, this property is designed to accommodate only a single 
hostname or IP address.

When a GSLB without sticky sessions distributes requests, an initial request 
might be routed to Router A, while a subsequent request (e.g., for application 
logs, proxied by an NM) might be directed by the GSLB to Router B, or the NM 
might be configured with a specific Router/GSLB VIP that resolves to Router B. 
If the ApplicationMaster (AM) for the application in question is registered 
with Router A, Router B may not be able to correctly proxy or redirect the 
request, leading to errors. The NM's attempt to proxy through an "incorrect" or 
context-unaware Router (relative to where the AM is known) due to the 
single-host limitation in {{yarn.web-proxy.address}} results in these failures.

*Analysis / Root Cause Summary:*
 # *Environment:* YARN Federation with multiple YARN Routers.
 # *Load Balancing:* GSLB used without sticky session support, leading to 
requests for the same session potentially hitting different Routers.
 # *NM Proxy Mechanism:* NodeManagers use {{yarn.web-proxy.address}} to 
identify the YARN Router for proxying UI/log requests.
 # *Configuration Limitation:* {{yarn.web-proxy.address}} supports only a 
single host, making it incompatible with a multi-Router setup where requests 
are not sticky.
 # *Symptom:* Redirection errors occur as the NM may attempt to proxy through a 
Router that does not have the necessary context for the specific 
application/AM, or is not the Router the user was initially interacting with 
via the GSLB.

*Proposed Solution:*

To address this limitation, a patch has been developed to introduce 
*pattern-based address matching for the YARN web proxy functionality.*

This enhancement will allow {{yarn.web-proxy.address.pattern}} to be configured 
with a pattern or a list of Routers. The NodeManager's proxy mechanism can then 
intelligently select or match the appropriate Router address, ensuring that 
requests are proxied correctly even in a federated environment with multiple 
Routers and non-sticky load balancing.

*Goal of the Patch:*
 * Enable robust YARN web proxying in federated environments with multiple 
Routers load-balanced by a non-sticky GSLB.
 * Improve the usability and reliability of accessing application UIs and logs 
in such configurations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-dev-h...@hadoop.apache.org

Reply via email to