Jobtracker UI在osx上无法正常工作

时间:2013-12-18 22:34:11

标签: macos user-interface hadoop homebrew

Hadoop本身(即hdfs和map / reduce) 工作 - 以及brew-installed hive(验证前两个)。只是GUI很奇怪:看到附带的截图:网络服务器已启动,但JobTracker没有提供任何有用的信息

找不到

jobtracker.jsp:

enter image description here

任何人都可以在50030港口回家(是的!)

enter image description here

namenode ui怎么样?

enter image description here

1 个答案:

答案 0 :(得分:2)

我在hadoop-2.0.0-cdh4.5.0安装上遇到了同样的错误。花了一些时间查看代码后,我设法通过将以下补丁应用于hadoop-common-2.0.0-cdh4.5.0.jar来实现这一点:

diff --git a/org/apache/hadoop/http/HttpServer.java b/org/apache/hadoop/http/HttpServer.java
index 25b4c75..1896623 100644
--- a/org/apache/hadoop/http/HttpServer.java
+++ b/org/apache/hadoop/http/HttpServer.java
@@ -237,6 +237,10 @@ public class HttpServer implements FilterContainer {
     webAppContext.setDisplayName(name);
     webAppContext.setContextPath("/");
     webAppContext.setWar(appDir + "/" + name);
+
+    webAppContext.setDescriptor(appDir + "/" + name + "/WEB-INF/web.xml");
+    webAppContext.setResourceBase(appDir + "/" + name);
+
     webAppContext.getServletContext().setAttribute(CONF_CONTEXT_ATTRIBUTE, conf);
     webAppContext.getServletContext().setAttribute(ADMINS_ACL, adminsAcl);
     addNoCacheFilter(webAppContext);

使用Jetty WebAppContext的jobtracker / tasktracker webapp初始化基本上缺少web.xml位置,使用setDescriptor()添加它并使用setResourceBase()正确设置resourceBase解决了这个问题。