1

我有一个运行 Map-Reduce V1 的 CDH4 集群。当我尝试从 tarball 安装 oozie CDh4 并按照 https://ccp.cloudera.com/display/CDH4DOC/Oozie+Installation#OozieInstallation-Configuringthehadoopversion中的说明进行配置时

在启动服务时,我在日志中收到以下错误

INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
    11 Oct, 2012 11:51:57 PM org.apache.catalina.startup.HostConfig deployDescriptor
    INFO: Deploying configuration descriptor oozie.xml

    ERROR: Oozie could not be started

    REASON: java.lang.NoClassDefFoundError: org/apache/hadoop/util/ReflectionUtils

    Stacktrace:
    -----------------------------------------------------------------
    java.lang.NoClassDefFoundError: org/apache/hadoop/util/ReflectionUtils
        at org.apache.oozie.service.Services.setServiceInternal(Services.java:349)
        at org.apache.oozie.service.Services.<init>(Services.java:107)
        at org.apache.oozie.servlet.ServicesLoader.contextInitialized(ServicesLoader.java:38)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
        at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
        at org.apache.catalina.core.StandardService.start(StandardService.java:525)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.ReflectionUtils
4

1 回答 1

2

我在 CDH4 文档中没有看到这一点,但是在 CDH3u3 下,您必须将 hadoop-core 库复制到<oozie-home>/lib. 该 jar 包含堆栈跟踪中缺少的类。

编辑:

对于我的一生,我也无法在 cdh3u3 的任何地方的文档中找到它。所以,我复制了它和我需要的其他罐子,但我不记得我在哪里读到的。

于 2012-10-11T15:22:17.097 回答