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