Hadoop2- YARN - ApplicationMaster UI - 连接被拒绝的问题

时间:2015-05-11 19:42:41

标签: java hadoop yarn hadoop2

从RM WebUI(hadoop 2.6.0)访问ApplicationMaster UI时,我遇到了以下问题。没有运行独立的WebProxy服务器。代理作为ResourceManager的一部分运行。

"HTTP ERROR 500
Problem accessing /proxy/application_1431357703844_0004/. Reason:
    Connection refused"

资源管理器日志中的日志条目:

2015-05-11 19:25:01,837 INFO  webproxy.WebAppProxyServlet (WebAppProxyServlet.java:doGet(330)) - ubuntu is accessing unchecked http://slave1:51704/ which is the app master GUI of application_1431357703844_0004 owned by ubuntu
2015-05-11 19:25:01,845 WARN  mortbay.log (Slf4jLog.java:warn(76)) - /proxy/application_1431357703844_0004/: java.net.ConnectException: Connection refused

当我从RM中获取AppMaster Url时,下面是输出

ubuntu@resource-manager:/mnt/logs/yarn$ wget -O- "http://slave1:51704/"
--2015-05-11 19:26:47--  http://slave1:51704/
HTTP request sent, awaiting response... 302 Found
Location: http://slave1:51704/mapreduce [following]
--2015-05-11 19:26:47--  http://slave1:51704/mapreduce
HTTP request sent, awaiting response... 302 Found
Location: http://slave1:8088/proxy/application_1431357703844_0004/mapreduce [following]
--2015-05-11 19:26:47--  http://slave1:8088/proxy/application_1431357703844_0004/mapreduce
Connecting to slave1|:8088... failed: Connection refused.

当我从运行appMaster的节点发送相同的AppMaster URL时,我得到了200响应。

ubuntu@slave1:~$ wget -O- http://slave1:51704/
--2015-05-11 19:31:13--  http://slave1:51704/
Connecting to slave1|:51704... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://slave1:51704/mapreduce [following]
--2015-05-11 19:31:13--  http://slave1:51704/mapreduce
HTTP request sent, awaiting response... 200 OK
Length: 6846 (6.7K) [text/html]

这里要注意的主要区别是,当请求来自RM时,nodemanager被重定向到不同的URL" http://slave1:8088/proxy/application_1431357703844_0004/mapreduce"导致"连接被拒绝"。但是当请求是从NM运行的地方发出的时候,它并没有重定向到上面的URL,而是导致200响应。

请帮助我了解重定向的差异行为并解决问题。

1 个答案:

答案 0 :(得分:0)

您可以在NodeManager设备上的yarn-site.xml中将yarn.resourcemanager.webapp.address指定为RM的主机地址。

<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>rm.hostname.com:8088</value>
</property>

不是

<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>0.0.0.0:8088</value>
</property>