blob: 14c29c4e74b671fc5ff526ae890a1739626a298c [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_292) on Tue Jun 15 06:11:23 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AMRMProxyService (Apache Hadoop YARN NodeManager 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AMRMProxyService (Apache Hadoop YARN NodeManager 3.3.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AMRMProxyService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyMetrics.html" title="class in org.apache.hadoop.yarn.server.nodemanager.amrmproxy"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.RequestInterceptorChainWrapper.html" title="class in org.apache.hadoop.yarn.server.nodemanager.amrmproxy"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html" target="_top">Frames</a></li>
<li><a href="AMRMProxyService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.hadoop.service.CompositeService">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.yarn.server.nodemanager.amrmproxy</div>
<h2 title="Class AMRMProxyService" class="title">Class AMRMProxyService</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.service.AbstractService</li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.service.CompositeService</li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.yarn.server.nodemanager.amrmproxy.AMRMProxyService</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, org.apache.hadoop.service.Service, org.apache.hadoop.yarn.api.ApplicationMasterProtocol</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">AMRMProxyService</span>
extends org.apache.hadoop.service.CompositeService
implements org.apache.hadoop.yarn.api.ApplicationMasterProtocol</pre>
<div class="block">AMRMProxyService is a service that runs on each node manager that can be used
to intercept and inspect messages from application master to the cluster
resource manager. It listens to messages from the application master and
creates a request intercepting pipeline instance for each application. The
pipeline is a chain of interceptor instances that can inspect and modify the
request/response as needed.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.RequestInterceptorChainWrapper.html" title="class in org.apache.hadoop.yarn.server.nodemanager.amrmproxy">AMRMProxyService.RequestInterceptorChainWrapper</a></span></code>
<div class="block">Private structure for encapsulating RequestInterceptor and
ApplicationAttemptId instances.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.service.CompositeService">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.hadoop.service.CompositeService</h3>
<code>org.apache.hadoop.service.CompositeService.CompositeServiceShutdownHook</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.service.Service">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.hadoop.service.Service</h3>
<code>org.apache.hadoop.service.Service.STATE</code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.service.CompositeService">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.service.CompositeService</h3>
<code>STOP_ONLY_STARTED_SERVICES</code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#AMRMProxyService-org.apache.hadoop.yarn.server.nodemanager.Context-org.apache.hadoop.yarn.event.AsyncDispatcher-">AMRMProxyService</a></span>(<a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/Context.html" title="interface in org.apache.hadoop.yarn.server.nodemanager">Context</a>&nbsp;nmContext,
org.apache.hadoop.yarn.event.AsyncDispatcher&nbsp;dispatcher)</code>
<div class="block">Creates an instance of the service.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.yarn.api.protocolrecords.AllocateResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#allocate-org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest-">allocate</a></span>(org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest&nbsp;request)</code>
<div class="block">This is called by the AMs started on this node to send heart beat to RM.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/RequestInterceptor.html" title="interface in org.apache.hadoop.yarn.server.nodemanager.amrmproxy">RequestInterceptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#createRequestInterceptorChain--">createRequestInterceptorChain</a></span>()</code>
<div class="block">This method creates and returns reference of the first intercepter in the
chain of request intercepter instances.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.yarn.api.protocolrecords.FinishApplicationMasterResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#finishApplicationMaster-org.apache.hadoop.yarn.api.protocolrecords.FinishApplicationMasterRequest-">finishApplicationMaster</a></span>(org.apache.hadoop.yarn.api.protocolrecords.FinishApplicationMasterRequest&nbsp;request)</code>
<div class="block">This is called by the AMs started on this node to unregister from the RM.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#getBindAddress--">getBindAddress</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.yarn.api.records.ApplicationId,<a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.RequestInterceptorChainWrapper.html" title="class in org.apache.hadoop.yarn.server.nodemanager.amrmproxy">AMRMProxyService.RequestInterceptorChainWrapper</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#getPipelines--">getPipelines</a></span>()</code>
<div class="block">Gets the Request intercepter chains for all the applications.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyTokenSecretManager.html" title="class in org.apache.hadoop.yarn.server.nodemanager.amrmproxy">AMRMProxyTokenSecretManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#getSecretManager--">getSecretManager</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#initializePipeline-org.apache.hadoop.yarn.api.records.ApplicationAttemptId-java.lang.String-org.apache.hadoop.security.token.Token-org.apache.hadoop.security.token.Token-java.util.Map-boolean-org.apache.hadoop.security.Credentials-">initializePipeline</a></span>(org.apache.hadoop.yarn.api.records.ApplicationAttemptId&nbsp;applicationAttemptId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
org.apache.hadoop.security.token.Token&lt;org.apache.hadoop.yarn.security.AMRMTokenIdentifier&gt;&nbsp;amrmToken,
org.apache.hadoop.security.token.Token&lt;org.apache.hadoop.yarn.security.AMRMTokenIdentifier&gt;&nbsp;localToken,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;recoveredDataMap,
boolean&nbsp;isRecovery,
org.apache.hadoop.security.Credentials&nbsp;credentials)</code>
<div class="block">Initializes the request intercepter pipeline for the specified application.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#processApplicationStartRequest-org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest-">processApplicationStartRequest</a></span>(org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest&nbsp;request)</code>
<div class="block">Callback from the ContainerManager implementation for initializing the
application request processing pipeline.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#recover--">recover</a></span>()</code>
<div class="block">Recover from NM state store.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterResponse</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#registerApplicationMaster-org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterRequest-">registerApplicationMaster</a></span>(org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterRequest&nbsp;request)</code>
<div class="block">This is called by the AMs started on this node to register with the RM.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#serviceInit-org.apache.hadoop.conf.Configuration-">serviceInit</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#serviceStart--">serviceStart</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#serviceStop--">serviceStop</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html#stopApplication-org.apache.hadoop.yarn.api.records.ApplicationId-">stopApplication</a></span>(org.apache.hadoop.yarn.api.records.ApplicationId&nbsp;applicationId)</code>
<div class="block">Shuts down the request processing pipeline for the specified application
attempt id.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.service.CompositeService">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.service.CompositeService</h3>
<code>addIfService, addService, getServices, removeService</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.service.AbstractService">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.service.AbstractService</h3>
<code>close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AMRMProxyService-org.apache.hadoop.yarn.server.nodemanager.Context-org.apache.hadoop.yarn.event.AsyncDispatcher-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AMRMProxyService</h4>
<pre>public&nbsp;AMRMProxyService(<a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/Context.html" title="interface in org.apache.hadoop.yarn.server.nodemanager">Context</a>&nbsp;nmContext,
org.apache.hadoop.yarn.event.AsyncDispatcher&nbsp;dispatcher)</pre>
<div class="block">Creates an instance of the service.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nmContext</code> - NM context</dd>
<dd><code>dispatcher</code> - NM dispatcher</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="serviceInit-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serviceInit</h4>
<pre>protected&nbsp;void&nbsp;serviceInit(org.apache.hadoop.conf.Configuration&nbsp;conf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>serviceInit</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.service.CompositeService</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="serviceStart--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serviceStart</h4>
<pre>protected&nbsp;void&nbsp;serviceStart()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>serviceStart</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.service.CompositeService</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="serviceStop--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serviceStop</h4>
<pre>protected&nbsp;void&nbsp;serviceStop()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>serviceStop</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.service.CompositeService</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="recover--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recover</h4>
<pre>public&nbsp;void&nbsp;recover()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Recover from NM state store. Called after serviceInit before serviceStart.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if recover fails</dd>
</dl>
</li>
</ul>
<a name="registerApplicationMaster-org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterRequest-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerApplicationMaster</h4>
<pre>public&nbsp;org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterResponse&nbsp;registerApplicationMaster(org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterRequest&nbsp;request)
throws org.apache.hadoop.yarn.exceptions.YarnException,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This is called by the AMs started on this node to register with the RM.
This method does the initial authorization and then forwards the request to
the application instance specific intercepter chain.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>registerApplicationMaster</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.yarn.api.ApplicationMasterProtocol</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.hadoop.yarn.exceptions.YarnException</code></dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="finishApplicationMaster-org.apache.hadoop.yarn.api.protocolrecords.FinishApplicationMasterRequest-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finishApplicationMaster</h4>
<pre>public&nbsp;org.apache.hadoop.yarn.api.protocolrecords.FinishApplicationMasterResponse&nbsp;finishApplicationMaster(org.apache.hadoop.yarn.api.protocolrecords.FinishApplicationMasterRequest&nbsp;request)
throws org.apache.hadoop.yarn.exceptions.YarnException,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This is called by the AMs started on this node to unregister from the RM.
This method does the initial authorization and then forwards the request to
the application instance specific intercepter chain.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>finishApplicationMaster</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.yarn.api.ApplicationMasterProtocol</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.hadoop.yarn.exceptions.YarnException</code></dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="allocate-org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocate</h4>
<pre>public&nbsp;org.apache.hadoop.yarn.api.protocolrecords.AllocateResponse&nbsp;allocate(org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest&nbsp;request)
throws org.apache.hadoop.yarn.exceptions.YarnException,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This is called by the AMs started on this node to send heart beat to RM.
This method does the initial authorization and then forwards the request to
the application instance specific pipeline, which is a chain of request
intercepter objects. One application request processing pipeline is created
per AM instance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>allocate</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.yarn.api.ApplicationMasterProtocol</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.hadoop.yarn.exceptions.YarnException</code></dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="processApplicationStartRequest-org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processApplicationStartRequest</h4>
<pre>public&nbsp;void&nbsp;processApplicationStartRequest(org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest&nbsp;request)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
org.apache.hadoop.yarn.exceptions.YarnException</pre>
<div class="block">Callback from the ContainerManager implementation for initializing the
application request processing pipeline.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - - encapsulates information for starting an AM</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if fails</dd>
<dd><code>org.apache.hadoop.yarn.exceptions.YarnException</code> - if fails</dd>
</dl>
</li>
</ul>
<a name="initializePipeline-org.apache.hadoop.yarn.api.records.ApplicationAttemptId-java.lang.String-org.apache.hadoop.security.token.Token-org.apache.hadoop.security.token.Token-java.util.Map-boolean-org.apache.hadoop.security.Credentials-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializePipeline</h4>
<pre>protected&nbsp;void&nbsp;initializePipeline(org.apache.hadoop.yarn.api.records.ApplicationAttemptId&nbsp;applicationAttemptId,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
org.apache.hadoop.security.token.Token&lt;org.apache.hadoop.yarn.security.AMRMTokenIdentifier&gt;&nbsp;amrmToken,
org.apache.hadoop.security.token.Token&lt;org.apache.hadoop.yarn.security.AMRMTokenIdentifier&gt;&nbsp;localToken,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;recoveredDataMap,
boolean&nbsp;isRecovery,
org.apache.hadoop.security.Credentials&nbsp;credentials)</pre>
<div class="block">Initializes the request intercepter pipeline for the specified application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationAttemptId</code> - attempt id</dd>
<dd><code>user</code> - user name</dd>
<dd><code>amrmToken</code> - amrmToken issued by RM</dd>
<dd><code>localToken</code> - amrmToken issued by AMRMProxy</dd>
<dd><code>recoveredDataMap</code> - the recovered states for AMRMProxy from NMSS</dd>
<dd><code>isRecovery</code> - whether this is to recover a previously existing pipeline</dd>
</dl>
</li>
</ul>
<a name="stopApplication-org.apache.hadoop.yarn.api.records.ApplicationId-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stopApplication</h4>
<pre>protected&nbsp;void&nbsp;stopApplication(org.apache.hadoop.yarn.api.records.ApplicationId&nbsp;applicationId)</pre>
<div class="block">Shuts down the request processing pipeline for the specified application
attempt id.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationId</code> - application id</dd>
</dl>
</li>
</ul>
<a name="getPipelines--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPipelines</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.yarn.api.records.ApplicationId,<a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.RequestInterceptorChainWrapper.html" title="class in org.apache.hadoop.yarn.server.nodemanager.amrmproxy">AMRMProxyService.RequestInterceptorChainWrapper</a>&gt;&nbsp;getPipelines()</pre>
<div class="block">Gets the Request intercepter chains for all the applications.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the request intercepter chains.</dd>
</dl>
</li>
</ul>
<a name="createRequestInterceptorChain--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createRequestInterceptorChain</h4>
<pre>protected&nbsp;<a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/RequestInterceptor.html" title="interface in org.apache.hadoop.yarn.server.nodemanager.amrmproxy">RequestInterceptor</a>&nbsp;createRequestInterceptorChain()</pre>
<div class="block">This method creates and returns reference of the first intercepter in the
chain of request intercepter instances.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the reference of the first intercepter in the chain</dd>
</dl>
</li>
</ul>
<a name="getBindAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBindAddress</h4>
<pre>@InterfaceAudience.Private
public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;getBindAddress()</pre>
</li>
</ul>
<a name="getSecretManager--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getSecretManager</h4>
<pre>@InterfaceAudience.Private
public&nbsp;<a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyTokenSecretManager.html" title="class in org.apache.hadoop.yarn.server.nodemanager.amrmproxy">AMRMProxyTokenSecretManager</a>&nbsp;getSecretManager()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AMRMProxyService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyMetrics.html" title="class in org.apache.hadoop.yarn.server.nodemanager.amrmproxy"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.RequestInterceptorChainWrapper.html" title="class in org.apache.hadoop.yarn.server.nodemanager.amrmproxy"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/hadoop/yarn/server/nodemanager/amrmproxy/AMRMProxyService.html" target="_top">Frames</a></li>
<li><a href="AMRMProxyService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.hadoop.service.CompositeService">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>