[ 
https://issues.apache.org/jira/browse/YARN-6626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16167071#comment-16167071
 ] 

Eric Yang edited comment on YARN-6626 at 9/14/17 10:47 PM:
-----------------------------------------------------------

This can be done by specifying hadoop-yarn-service-api as dependency to 
hadoop-yarn-ui project, this will automatically place 
hadoop-yarn-service-api*.jar and dependencies into WEB-INF/lib of 
hadoop-yarn-ui war file.  In web.xml file, specify:

{code}
<web-app>
  <display-name>YARN UI</display-name>

  <servlet>
    <servlet-name>REST_API</servlet-name>
    
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>com.sun.jersey.config.property.packages</param-name>
      
<param-value>org.apache.hadoop.yarn.appcatalog.controller;org.apache.hadoop.yarn.service.webapp</param-value>
    </init-param>
    <init-param>
      <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>REST_API</servlet-name>
    <url-pattern>/ws/v2/*</url-pattern>
  </servlet-mapping>
</web-app>
{code}

Note that the prefix URL is hard coded in RestApiConstants.  The better 
approach is to ensure the prefix directory is described by configuration like 
in web.xml, or in ApiServerWebApp where addJerseyResourcePackage is the prefix 
path.  Hence the URL have the same prefix between apiserver and resource 
manager.


was (Author: eyang):
This can be done by specifying hadoop-yarn-service-api as dependency to 
hadoop-yarn-ui project, this will automatically place 
hadoop-yarn-service-api*.jar and dependencies into WEB-INF/lib of 
hadoop-yarn-ui war file.  In web.xml file, specify:

{code}
<web-app>
  <display-name>YARN UI</display-name>

  <servlet>
    <servlet-name>REST_API</servlet-name>
    
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>com.sun.jersey.config.property.packages</param-name>
      
<param-value>org.apache.hadoop.yarn.appcatalog.controller;org.apache.hadoop.yarn.service.webapp</param-value>
    </init-param>
    <init-param>
      <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>REST_API</servlet-name>
    <url-pattern>/ws/v2/*</url-pattern>
  </servlet-mapping>
</web-app>
{code}

> Embed REST API service into RM
> ------------------------------
>
>                 Key: YARN-6626
>                 URL: https://issues.apache.org/jira/browse/YARN-6626
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Gour Saha
>             Fix For: yarn-native-services
>
>
> As of now the deployment model of the Native Services REST API service is 
> standalone. There are several cross-cutting solutions that can be inherited 
> for free (kerberos, HA, ACLs, trusted proxy support, etc.) by the REST API 
> service if it is embedded into the RM process. In fact we can expose the REST 
> API via the same port as RM UI (8088 default). The URI path 
> /services/v1/applications will distinguish the REST API calls from other RM 
> APIs.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to