Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Is it possible to use exisiting views in HDP stack in a new custom stack?

Is it possible to use exisiting views in HDP stack in a new custom stack?

I've created a custom stack and added the following files in /var/lib/ambari-server/resources/views directory:

capacity-scheduler-2.2.1.1.70.jar
files-2.2.1.1.70.jar
hive-2.2.1.1.70.jar
pig-2.2.1.1.70.jar
slider-2.2.1.1.70.jar
tez-view-2.2.1.1.70.jar

After which I've restarted the ambari-server.

Now, I'm able to get views list through Rest API:

curl -u admin:admin -H "X-Requested-By: ambari" -X GET  http://localhost:8080/api/v1/views/
{
  "href" : "http://localhost:8080/api/v1/views/",
  "items" : [
    {
      "href" : "http://localhost:8080/api/v1/views/ADMIN_VIEW",
      "ViewInfo" : {
        "view_name" : "ADMIN_VIEW"
      }
    },
    {
      "href" : "http://localhost:8080/api/v1/views/CAPACITY-SCHEDULER",
      "ViewInfo" : {
        "view_name" : "CAPACITY-SCHEDULER"
      }
    },
    {
      "href" : "http://localhost:8080/api/v1/views/FILES",
      "ViewInfo" : {
        "view_name" : "FILES"
      }
    },
    {
      "href" : "http://localhost:8080/api/v1/views/HIVE",
      "ViewInfo" : {
        "view_name" : "HIVE"
      }
    },
    {
      "href" : "http://localhost:8080/api/v1/views/PIG",
      "ViewInfo" : {
        "view_name" : "PIG"
      }
    },
    {
      "href" : "http://localhost:8080/api/v1/views/SLIDER",
      "ViewInfo" : {
        "view_name" : "SLIDER"
      }
    },
    {
      "href" : "http://localhost:8080/api/v1/views/TEZ",
      "ViewInfo" : {
        "view_name" : "TEZ"
      }
    }
  ]
}

But not able to see views on web api. I'm not able to check the problem? Are there any logs which can help in debug?

no-views.png

3 REPLIES 3
Highlighted

Re: Is it possible to use exisiting views in HDP stack in a new custom stack?

@Kuldeep Mishra

The "/var/lib/ambari-server/resources/views" directory already contains the View related JARs have you removed the original JARs from there and added yours own?

If thats the case then can you please tell us what is the ambari version you are using because from Ambari 2.4 onwards there have been major changes in the default Ambari Views and also in the Database schema from views operspectives (like viewurl new table)

Also if you have replaced the jars present inside the "/var/lib/ambari-server/resources/views" directory then you should try two things:

1). delete the "/var/lib/ambari-server/resources/views/work" directory content and

2). Restart amabri server. It will freshly extract the Jars present inside the "/var/lib/ambari-server/resources/views" directory to the "work" directory.

Highlighted

Re: Is it possible to use exisiting views in HDP stack in a new custom stack?

@Kuldeep Mishra

In general "HDFS070 fs.defaultFS is not configured" refers to missing default fs in your core-site.xml.

Are you configuring the view using the "Local" option or "Custom" option?

You will need to refer to the following links for local Or custom configs:

http://docs.hortonworks.com/HDPDocuments/Ambari-2.2.1.0/bk_ambari_views_guide/content/_Cluster_Confi...

OR

http://docs.hortonworks.com/HDPDocuments/Ambari-2.2.1.0/bk_ambari_views_guide/content/_Cluster_Confi...

Highlighted

Re: Is it possible to use exisiting views in HDP stack in a new custom stack?

@jss

I'm using ambari 2.2.1.

After creating instance through the rest API. I'm able to see the FILES view.

curl -u admin:admin -H "X-Requested-By: ambari" -X POST  http://localhost:8080/api/v1/views/FILES/versions/1.0.0/instances/myfile

But I'm getting another error: 500 HdfsApi connection failed. Check "webhdfs.url" property

org.apache.ambari.view.utils.hdfs.HdfsApiException: HDFS070 fs.defaultFS is not configured
   at org.apache.ambari.view.utils.hdfs.ConfigurationBuilder.getDefaultFS(ConfigurationBuilder.java:112)
   at org.apache.ambari.view.utils.hdfs.ConfigurationBuilder.parseProperties(ConfigurationBuilder.java:83)
   at org.apache.ambari.view.utils.hdfs.ConfigurationBuilder.buildConfig(ConfigurationBuilder.java:224)
   at org.apache.ambari.view.utils.hdfs.HdfsApi.<init>(HdfsApi.java:65)
   at org.apache.ambari.view.utils.hdfs.HdfsUtil.connectToHDFSApi(HdfsUtil.java:126)
   at org.apache.ambari.view.filebrowser.HdfsService.getApi(HdfsService.java:79)
   at org.apache.ambari.view.filebrowser.FileOperationService.listdir(FileOperationService.java:64)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:497)
   at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
   at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
   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.SubLocatorRule.accept(SubLocatorRule.java:137)
   at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
   at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
   at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
   at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
   at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
   at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
   at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
   at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
   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:1542)
   at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
   at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
   at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
   at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
   at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540)
   at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
   at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)
   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
   at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
   at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
   at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
   at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
   at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
   at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
   at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
   at org.apache.ambari.server.security.authorization.AmbariAuthorizationFilter.doFilter(AmbariAuthorizationFilter.java:196)
   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
   at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
   at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
   at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
   at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
   at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
   at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
   at org.apache.ambari.server.api.MethodOverrideFilter.doFilter(MethodOverrideFilter.java:72)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
   at org.apache.ambari.server.api.AmbariPersistFilter.doFilter(AmbariPersistFilter.java:47)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
   at org.apache.ambari.server.security.AbstractSecurityHeaderFilter.doFilter(AbstractSecurityHeaderFilter.java:109)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
   at org.apache.ambari.server.security.AbstractSecurityHeaderFilter.doFilter(AbstractSecurityHeaderFilter.java:109)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
   at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82)
   at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:294)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
   at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
   at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
   at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
   at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
   at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
   at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
   at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
   at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
   at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
   at org.apache.ambari.server.controller.AmbariHandlerList.processHandlers(AmbariHandlerList.java:216)
   at org.apache.ambari.server.controller.AmbariHandlerList.processHandlers(AmbariHandlerList.java:205)
   at org.apache.ambari.server.controller.AmbariHandlerList.handle(AmbariHandlerList.java:152)
   at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
   at org.eclipse.jetty.server.Server.handle(Server.java:370)
   at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
   at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
   at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
   at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
   at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
   at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
   at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
   at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
   at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
   at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
   at java.lang.Thread.run(Thread.java:745)

files-view-error.png

fs.defaultFS value is set in web hdfs configs : core-site.xml section.

Am I missing something here?

Don't have an account?
Coming from Hortonworks? Activate your account here