2014-04-23 38 views
4

我的WebHCat服務器正在運行,我可以使用hadoop提交作業(使用hadoop-example-mapreduce-examples-2.2.0.jar)。當我去使用WebHCat訪問/ templeton/v1 /作業時出現錯誤500

http://localhost:8080/templeton/v1/status 

它的工作,所以服務器啓動。當我去

http://localhost:8080/templeton/v1/jobs 

它給出了失蹤user.name參數,所以我給它一個拿到user.name參數,但這個網址,

http://localhost:8080/templeton/v1/jobs?user.name=<username> 

提供了以下錯誤:

HTTP ERROR: 500 
Problem accessing /templeton/v1/jobs. Reason: 
    org/apache/hadoop/hive/shims/ShimLoader 
Powered by Jetty:// 

如果我嘗試將其與

curl -s -d "user.name=<username>" 'http://localhost:8080/templeton/v1/jobs' 
傳作爲POST參數

返回:

{"error":null} 

可以採取什麼問題嗎?

編輯

在webhcat.log: POST之後(與捲曲)

ERROR | 23 Apr 2014 15:21:28,875 | org.apache.hive.hcatalog.templeton.CatchallExceptionMapper | 
javax.ws.rs.WebApplicationException 
    at com.sun.jersey.server.impl.uri.rules.TerminatingRule.accept(TerminatingRule.java:66) 
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) 
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) 
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350) 
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1360) 
    at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:384) 
    at org.apache.hadoop.hdfs.web.AuthFilter.doFilter(AuthFilter.java:85) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) 
    at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:47) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) 
    at org.eclipse.jetty.server.Server.handle(Server.java:349) 
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449) 
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:925) 
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:857) 
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534) 
    at java.lang.Thread.run(Thread.java:744) 

後GET

ERROR | 23 Apr 2014 15:23:27,641 | com.sun.jersey.spi.container.ContainerResponse | The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container 
java.lang.NoClassDefFoundError: org/apache/hadoop/hive/shims/ShimLoader 
    at org.apache.hive.hcatalog.templeton.ListDelegator.run(ListDelegator.java:44) 
    at org.apache.hive.hcatalog.templeton.Server.showJobList(Server.java:913) 
    at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) 
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) 
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) 
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) 
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) 
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) 
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) 
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350) 
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1360) 
    at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:384) 
    at org.apache.hadoop.hdfs.web.AuthFilter.doFilter(AuthFilter.java:85) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) 
    at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:47) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) 
    at org.eclipse.jetty.server.Server.handle(Server.java:349) 
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449) 
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:910) 
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634) 
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) 
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534) 
    at java.lang.Thread.run(Thread.java:744) 

WARN | 23 Apr 2014 15:23:27,642 | org.eclipse.jetty.servlet.ServletHandler | /templeton/v1/jobs 
java.lang.NoClassDefFoundError: org/apache/hadoop/hive/shims/ShimLoader 
    at org.apache.hive.hcatalog.templeton.ListDelegator.run(ListDelegator.java:44) 
    at org.apache.hive.hcatalog.templeton.Server.showJobList(Server.java:913) 
    at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) 
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) 
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) 
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) 
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) 
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) 
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) 
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350) 
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1360) 
    at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:384) 
    at org.apache.hadoop.hdfs.web.AuthFilter.doFilter(AuthFilter.java:85) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) 
    at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:47) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) 
    at org.eclipse.jetty.server.Server.handle(Server.java:349) 
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449) 
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:910) 
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634) 
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) 
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534) 
    at java.lang.Thread.run(Thread.java:744) 

編輯2: 我已經把hive- shims-common-0.14.0-SNAPSHOT.jar進入webhcat的svr/lib目錄,現在我得到以下錯誤:

{"error":"Could not load shims in class org.apache.hadoop.hive.shims.Hadoop23Shims"} 

編輯3: 如果我把同樣的蜂房墊片-0.14.0-SNASPHOT.jar,蜂房墊片常見安全-0.14.0-SNAPSHOT.jar和蜂房墊片 - 0.23-0.14。 0-SNAPSHOT.jar到該文件夾​​如我上面寫的,無論是GET和

{"error":null} 

的POST爲V1 /工作結果是否意味着給定的user.name是不是有效?

+0

您是否在'$ HCATALOG_HOME \ logs \ templeton.log'中看到有關錯誤的更多詳細信息? – RickH

+0

我編輯了我的問題與錯誤的詳細信息。 – zdtorok

回答

0

它看起來像你的WebHCat服務器根本找不到錯誤中提到的類(org/apache/hadoop/hive/shims/ShimLoader)。這個類可以在hive-shims-0.12.0.2.0.7.0-1551.jar(你的版本可能不同)中找到,它可以在Hive的lib目錄中找到。

您能否確認運行WebHCat服務器的進程在其$ Java $ CLASSPATH中有$ HIVE_LIB_DIR?

+0

在我的apache-hive目錄/ lib中,我可以找到以下與hive-shims文件相關的信息: hive-shims-0.14.0-SNAPSHOT.jar hive-shims-0.20-0.14.0-SNAPSHOT.jar hive- Shims-0.20S-0.14.0-SNAPSHOT.jar hive-shims-0.23-0.14.0-SNAPSHOT.jar hive-shims-common-0.14.0-SNAPSHOT.jar hive-shims-common-secure-0.14 .0-SNAPSHOT.jar 對不起,但$ HIVE_LIB_DIR作爲一個全局的linux變量?或者你的意思是? – zdtorok

+0

我已經更新了我的問題,因爲我現在有不同的消息。 – zdtorok

相關問題