Macos 作业跟踪器UI在osx上工作不正常
Hadoop本身(即hdfs和map/reduce)正在运行,brew安装的hive也在运行(这验证了前两个)。只是GUI有点奇怪:请看附带的屏幕截图:Web服务器已启动,但JobTracker没有提供任何有用的信息 未找到jobtracker.jsp: 端口50030上有人在家吗(是的!) 名称节点用户界面如何?Macos 作业跟踪器UI在osx上工作不正常,macos,user-interface,hadoop,homebrew,Macos,User Interface,Hadoop,Homebrew,Hadoop本身(即hdfs和map/reduce)正在运行,brew安装的hive也在运行(这验证了前两个)。只是GUI有点奇怪:请看附带的屏幕截图:Web服务器已启动,但JobTracker没有提供任何有用的信息 未找到jobtracker.jsp: 端口50030上有人在家吗(是的!) 名称节点用户界面如何? 我在hadoop-2.0.0-cdh4.5.0安装中遇到了相同的错误。在花了一些时间研究代码之后,我通过将以下补丁应用到hadoop-common-2.0.0-cdh4.5.0.
我在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可以解决此问题。Wow。有hadoop JIRA吗?我会接受的。请考虑(a)提出一个JIRA/RAP请求,和(b)投票。这不限于OSX。