从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响应。
请帮助我了解重定向的差异行为并解决问题。
答案 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>