Hello folks, I'm trying to use knox for various hadoop services, and I'm having some trouble with the nodemanager links in YARNUI services. Specifically, the nodemanager links require the host to be appended in the URI, something like: https://host:8443/gateway/sandbox/yarn/nodemanager/node/containerlogs/container_e02_1498543212255_0001_01_000001/user?host=nm-host&port=8042
When I'm coming from the RM page, this link is rendered as an absolute one, so the rewrite rule works fine and appends the host and port. However, when I'm on the NM page itself, the URLs are not absolute, so a different rewrite rule applies: 2017-06-27 05:10:28,138 DEBUG hadoop.gateway (UrlRewriteProcessor.java:rewrite(164)) - Rewrote URL: /node/containerlogs/container_e01_1498485266952_0006_01_000001/hiyer qa3july/stderr/?start=-4096, direction: OUT via implicit rule: YARNUI/yarn/outbound/node to URL: https://host:8443/gateway/sandbox/yarn/node/containerlogs/container_e01_1498485266952_0006_01_000001/user/stderr As you can see, this link does not contain the host in the query string, so it does not work. This affects log links for running tasks, and links for the nodemanager itself. Any help on how I can work around this? One way I could think of is appending the query string of the *current* page to the link, but I couldn't see how to do that in a rewrite rule. I could even look into fixing this in the hadoop code, but I couldn't find an easy way to make the links absolute. TIA, Hariharan
