2012-10-11 126 views
1

我有一個運行Map-Reduce V1的CDH4集羣。當我試圖從壓縮包安裝了Oozie CDH4並配置它按所給的指示在 https://ccp.cloudera.com/display/CDH4DOC/Oozie+Installation#OozieInstallation-ConfiguringthehadoopversionOozie服務未啓動

在啓動服務,我得到的日誌

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 

回答

2

下面的錯誤,我沒有看到這個在CDH4文檔,但在CDH3u3下,您必須將hadoop-core文件複製到<oozie-home>/lib。該jar包含你的堆棧跟蹤中缺少的類。

編輯:

對於我的生活,我不能在文檔的cdh3u3地方找到這一點,無論是。所以,我複製了它和我需要的其他罐子,但是我不記得我在哪裏讀過這些東西。

+0

實際上它們在CDH4 tarball中存在一些問題,在安裝指南中明確提到應將oozie-server-0.20目錄用於MR1,而將oozie-server目錄用於YARN。 所有此路徑必須在文件oozie-env.sh中的CATALINA_BASE環境變量中進行編輯。但是tarball不包含MR1的任何名爲oozie-server-0.20的目錄。 – vikash

+0

所以我添加了所有hadoop-MR1庫到'/ oozie-3.1.3-cdh4.0.1/oozie-server/webapps/oozie/WEB-INF/lib',並且該服務正在運行。但我沒有檢查過它的任何工作示例。 – vikash

+0

很酷。很高興你得到它運行。 :) –