blob: aa11aea25525c14612addb181780c8154d61af66 [file] [log] [blame]
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Generated by the JDiff Javadoc doclet -->
<!-- (http://www.jdiff.org) -->
<!-- on Wed Apr 08 11:30:44 PDT 2015 -->
<api
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:noNamespaceSchemaLocation='api.xsd'
name="hadoop-yarn-client 2.6.0"
jdversion="1.0.9">
<!-- Command line arguments = -doclet org.apache.hadoop.classification.tools.ExcludePrivateAnnotationsJDiffDoclet -docletpath /Users/llu/hadoop2_6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/target/hadoop-annotations.jar:/Users/llu/hadoop2_6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/target/jdiff.jar -verbose -classpath /Users/llu/hadoop2_6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/target/classes:/Users/llu/.m2/repository/org/apache/hadoop/hadoop-common/2.6.0/hadoop-common-2.6.0.jar:/Users/llu/.m2/repository/org/apache/commons/commons-math3/3.1.1/commons-math3-3.1.1.jar:/Users/llu/.m2/repository/xmlenc/xmlenc/0.52/xmlenc-0.52.jar:/Users/llu/.m2/repository/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar:/Users/llu/.m2/repository/commons-codec/commons-codec/1.4/commons-codec-1.4.jar:/Users/llu/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar:/Users/llu/.m2/repository/commons-net/commons-net/3.1/commons-net-3.1.jar:/Users/llu/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/Users/llu/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar:/Users/llu/.m2/repository/org/mortbay/jetty/jetty/6.1.26/jetty-6.1.26.jar:/Users/llu/.m2/repository/org/mortbay/jetty/jetty-util/6.1.26/jetty-util-6.1.26.jar:/Users/llu/.m2/repository/com/sun/jersey/jersey-core/1.9/jersey-core-1.9.jar:/Users/llu/.m2/repository/com/sun/jersey/jersey-json/1.9/jersey-json-1.9.jar:/Users/llu/.m2/repository/com/sun/xml/bind/jaxb-impl/2.2.3-1/jaxb-impl-2.2.3-1.jar:/Users/llu/.m2/repository/com/sun/jersey/jersey-server/1.9/jersey-server-1.9.jar:/Users/llu/.m2/repository/asm/asm/3.2/asm-3.2.jar:/Users/llu/.m2/repository/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar:/Users/llu/.m2/repository/net/java/dev/jets3t/jets3t/0.9.0/jets3t-0.9.0.jar:/Users/llu/.m2/repository/org/apache/httpcomponents/httpclient/4.2.5/httpclient-4.2.5.jar:/Users/llu/.m2/repository/org/apache/httpcomponents/httpcore/4.2.5/httpcore-4.2.5.jar:/Users/llu/.m2/repository/com/jamesmurty/utils/java-xmlbuilder/0.4/java-xmlbuilder-0.4.jar:/Users/llu/.m2/repository/commons-configuration/commons-configuration/1.6/commons-configuration-1.6.jar:/Users/llu/.m2/repository/commons-digester/commons-digester/1.8/commons-digester-1.8.jar:/Users/llu/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar:/Users/llu/.m2/repository/commons-beanutils/commons-beanutils-core/1.8.0/commons-beanutils-core-1.8.0.jar:/Users/llu/.m2/repository/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar:/Users/llu/.m2/repository/org/slf4j/slf4j-log4j12/1.7.5/slf4j-log4j12-1.7.5.jar:/Users/llu/.m2/repository/org/codehaus/jackson/jackson-core-asl/1.9.13/jackson-core-asl-1.9.13.jar:/Users/llu/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.13/jackson-mapper-asl-1.9.13.jar:/Users/llu/.m2/repository/org/apache/avro/avro/1.7.4/avro-1.7.4.jar:/Users/llu/.m2/repository/com/thoughtworks/paranamer/paranamer/2.3/paranamer-2.3.jar:/Users/llu/.m2/repository/org/xerial/snappy/snappy-java/1.0.4.1/snappy-java-1.0.4.1.jar:/Users/llu/.m2/repository/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar:/Users/llu/.m2/repository/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar:/Users/llu/.m2/repository/org/apache/hadoop/hadoop-auth/2.6.0/hadoop-auth-2.6.0.jar:/Users/llu/.m2/repository/org/apache/directory/server/apacheds-kerberos-codec/2.0.0-M15/apacheds-kerberos-codec-2.0.0-M15.jar:/Users/llu/.m2/repository/org/apache/directory/server/apacheds-i18n/2.0.0-M15/apacheds-i18n-2.0.0-M15.jar:/Users/llu/.m2/repository/org/apache/directory/api/api-asn1-api/1.0.0-M20/api-asn1-api-1.0.0-M20.jar:/Users/llu/.m2/repository/org/apache/directory/api/api-util/1.0.0-M20/api-util-1.0.0-M20.jar:/Users/llu/.m2/repository/org/apache/curator/curator-framework/2.6.0/curator-framework-2.6.0.jar:/Users/llu/.m2/repository/com/jcraft/jsch/0.1.42/jsch-0.1.42.jar:/Users/llu/.m2/repository/org/apache/curator/curator-client/2.6.0/curator-client-2.6.0.jar:/Users/llu/.m2/repository/org/apache/curator/curator-recipes/2.6.0/curator-recipes-2.6.0.jar:/Users/llu/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar:/Users/llu/.m2/repository/org/htrace/htrace-core/3.0.4/htrace-core-3.0.4.jar:/Users/llu/.m2/repository/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar:/Users/llu/.m2/repository/org/apache/commons/commons-compress/1.4.1/commons-compress-1.4.1.jar:/Users/llu/.m2/repository/org/tukaani/xz/1.0/xz-1.0.jar:/Users/llu/.m2/repository/com/google/guava/guava/11.0.2/guava-11.0.2.jar:/Users/llu/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/Users/llu/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar:/Users/llu/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/Users/llu/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar:/Users/llu/.m2/repository/org/apache/hadoop/hadoop-annotations/2.6.0/hadoop-annotations-2.6.0.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/lib/tools.jar:/Users/llu/.m2/repository/io/netty/netty/3.6.2.Final/netty-3.6.2.Final.jar:/Users/llu/hadoop2_6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/target/hadoop-yarn-api-2.6.0.jar:/Users/llu/hadoop2_6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/target/hadoop-yarn-common-2.6.0.jar:/Users/llu/.m2/repository/javax/xml/bind/jaxb-api/2.2.2/jaxb-api-2.2.2.jar:/Users/llu/.m2/repository/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar:/Users/llu/.m2/repository/javax/activation/activation/1.1/activation-1.1.jar:/Users/llu/.m2/repository/com/sun/jersey/jersey-client/1.9/jersey-client-1.9.jar:/Users/llu/.m2/repository/org/codehaus/jackson/jackson-jaxrs/1.9.13/jackson-jaxrs-1.9.13.jar:/Users/llu/.m2/repository/org/codehaus/jackson/jackson-xc/1.9.13/jackson-xc-1.9.13.jar:/Users/llu/.m2/repository/com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar:/Users/llu/.m2/repository/com/google/inject/guice/3.0/guice-3.0.jar:/Users/llu/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/Users/llu/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/llu/.m2/repository/com/sun/jersey/contribs/jersey-guice/1.9/jersey-guice-1.9.jar:/Users/llu/.m2/repository/org/codehaus/jettison/jettison/1.1/jettison-1.1.jar -sourcepath /Users/llu/hadoop2_6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java -apidir /Users/llu/hadoop2_6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/target/site/jdiff/xml -apiname hadoop-yarn-client 2.6.0 -->
<package name="org.apache.hadoop.yarn.client.api">
<!-- start class org.apache.hadoop.yarn.client.api.AHSClient -->
<class name="AHSClient" extends="org.apache.hadoop.service.AbstractService"
abstract="true"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="AHSClient" type="java.lang.String"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<method name="createAHSClient" return="org.apache.hadoop.yarn.client.api.AHSClient"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Create a new instance of AHSClient.]]>
</doc>
</method>
<method name="getApplicationReport" return="org.apache.hadoop.yarn.api.records.ApplicationReport"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="appId" type="org.apache.hadoop.yarn.api.records.ApplicationId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of the given Application.
</p>
<p>
In secure mode, <code>YARN</code> verifies access to the application, queue
etc. before accepting the request.
</p>
<p>
If the user does not have <code>VIEW_APP</code> access then the following
fields in the report will be set to stubbed values:
<ul>
<li>host - set to "N/A"</li>
<li>RPC port - set to -1</li>
<li>client token - set to "N/A"</li>
<li>diagnostics - set to "N/A"</li>
<li>tracking URL - set to "N/A"</li>
<li>original tracking URL - set to "N/A"</li>
<li>resource usage report - all values are -1</li>
</ul>
</p>
@param appId
{@link ApplicationId} of the application that needs a report
@return application report
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getApplications" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report (ApplicationReport) of all Applications in the cluster.
</p>
<p>
If the user does not have <code>VIEW_APP</code> access for an application
then the corresponding report will be filtered as described in
{@link #getApplicationReport(ApplicationId)}.
</p>
@return a list of reports for all applications
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getApplicationAttemptReport" return="org.apache.hadoop.yarn.api.records.ApplicationAttemptReport"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="applicationAttemptId" type="org.apache.hadoop.yarn.api.records.ApplicationAttemptId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of the given ApplicationAttempt.
</p>
<p>
In secure mode, <code>YARN</code> verifies access to the application, queue
etc. before accepting the request.
</p>
@param applicationAttemptId
{@link ApplicationAttemptId} of the application attempt that needs
a report
@return application attempt report
@throws YarnException
@throws {@link ApplicationAttemptNotFoundException} if application attempt
not found
@throws IOException]]>
</doc>
</method>
<method name="getApplicationAttempts" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="applicationId" type="org.apache.hadoop.yarn.api.records.ApplicationId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of all (ApplicationAttempts) of Application in the cluster.
</p>
@param applicationId
@return a list of reports for all application attempts for specified
application
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getContainerReport" return="org.apache.hadoop.yarn.api.records.ContainerReport"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of the given Container.
</p>
<p>
In secure mode, <code>YARN</code> verifies access to the application, queue
etc. before accepting the request.
</p>
@param containerId
{@link ContainerId} of the container that needs a report
@return container report
@throws YarnException
@throws {@link ContainerNotFoundException} if container not found
@throws IOException]]>
</doc>
</method>
<method name="getContainers" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="applicationAttemptId" type="org.apache.hadoop.yarn.api.records.ApplicationAttemptId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of all (Containers) of ApplicationAttempt in the cluster.
</p>
@param applicationAttemptId
@return a list of reports of all containers for specified application
attempt
@throws YarnException
@throws IOException]]>
</doc>
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.AHSClient -->
<!-- start class org.apache.hadoop.yarn.client.api.AMRMClient -->
<class name="AMRMClient" extends="org.apache.hadoop.service.AbstractService"
abstract="true"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="AMRMClient" type="java.lang.String"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<method name="createAMRMClient" return="org.apache.hadoop.yarn.client.api.AMRMClient"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Create a new instance of AMRMClient.
For usage:
<pre>
{@code
AMRMClient.<T>createAMRMClientContainerRequest()
}</pre>
@return the newly create AMRMClient instance.]]>
</doc>
</method>
<method name="registerApplicationMaster" return="org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterResponse"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="appHostName" type="java.lang.String"/>
<param name="appHostPort" type="int"/>
<param name="appTrackingUrl" type="java.lang.String"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[Register the application master. This must be called before any
other interaction
@param appHostName Name of the host on which master is running
@param appHostPort Port master is listening on
@param appTrackingUrl URL at which the master info can be seen
@return <code>RegisterApplicationMasterResponse</code>
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="allocate" return="org.apache.hadoop.yarn.api.protocolrecords.AllocateResponse"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="progressIndicator" type="float"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[Request additional containers and receive new container allocations.
Requests made via <code>addContainerRequest</code> are sent to the
<code>ResourceManager</code>. New containers assigned to the master are
retrieved. Status of completed containers and node health updates are also
retrieved. This also doubles up as a heartbeat to the ResourceManager and
must be made periodically. The call may not always return any new
allocations of containers. App should not make concurrent allocate
requests. May cause request loss.
<p>
Note : If the user has not removed container requests that have already
been satisfied, then the re-register may end up sending the entire
container requests to the RM (including matched requests). Which would mean
the RM could end up giving it a lot of new allocated containers.
</p>
@param progressIndicator Indicates progress made by the master
@return the response of the allocate request
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="unregisterApplicationMaster"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="appStatus" type="org.apache.hadoop.yarn.api.records.FinalApplicationStatus"/>
<param name="appMessage" type="java.lang.String"/>
<param name="appTrackingUrl" type="java.lang.String"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[Unregister the application master. This must be called in the end.
@param appStatus Success/Failure status of the master
@param appMessage Diagnostics message on failure
@param appTrackingUrl New URL to get master info
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="addContainerRequest"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="req" type="T"/>
<doc>
<![CDATA[Request containers for resources before calling <code>allocate</code>
@param req Resource request]]>
</doc>
</method>
<method name="removeContainerRequest"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="req" type="T"/>
<doc>
<![CDATA[Remove previous container request. The previous container request may have
already been sent to the ResourceManager. So even after the remove request
the app must be prepared to receive an allocation for the previous request
even after the remove request
@param req Resource request]]>
</doc>
</method>
<method name="releaseAssignedContainer"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<doc>
<![CDATA[Release containers assigned by the Resource Manager. If the app cannot use
the container or wants to give up the container then it can release them.
The app needs to make new requests for the released resource capability if
it still needs it. eg. it released non-local resources
@param containerId]]>
</doc>
</method>
<method name="getAvailableResources" return="org.apache.hadoop.yarn.api.records.Resource"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Get the currently available resources in the cluster.
A valid value is available after a call to allocate has been made
@return Currently available resources]]>
</doc>
</method>
<method name="getClusterNodeCount" return="int"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Get the current number of nodes in the cluster.
A valid values is available after a call to allocate has been made
@return Current number of nodes in the cluster]]>
</doc>
</method>
<method name="getMatchingRequests" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="priority" type="org.apache.hadoop.yarn.api.records.Priority"/>
<param name="resourceName" type="java.lang.String"/>
<param name="capability" type="org.apache.hadoop.yarn.api.records.Resource"/>
<doc>
<![CDATA[Get outstanding <code>ContainerRequest</code>s matching the given
parameters. These ContainerRequests should have been added via
<code>addContainerRequest</code> earlier in the lifecycle. For performance,
the AMRMClient may return its internal collection directly without creating
a copy. Users should not perform mutable operations on the return value.
Each collection in the list contains requests with identical
<code>Resource</code> size that fit in the given capability. In a
collection, requests will be returned in the same order as they were added.
@return Collection of request matching the parameters]]>
</doc>
</method>
<method name="updateBlacklist"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="blacklistAdditions" type="java.util.List"/>
<param name="blacklistRemovals" type="java.util.List"/>
<doc>
<![CDATA[Update application's blacklist with addition or removal resources.
@param blacklistAdditions list of resources which should be added to the
application blacklist
@param blacklistRemovals list of resources which should be removed from the
application blacklist]]>
</doc>
</method>
<method name="setNMTokenCache"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="nmTokenCache" type="org.apache.hadoop.yarn.client.api.NMTokenCache"/>
<doc>
<![CDATA[Set the NM token cache for the <code>AMRMClient</code>. This cache must
be shared with the {@link NMClient} used to manage containers for the
<code>AMRMClient</code>
<p/>
If a NM token cache is not set, the {@link NMTokenCache#getSingleton()}
singleton instance will be used.
@param nmTokenCache the NM token cache to use.]]>
</doc>
</method>
<method name="getNMTokenCache" return="org.apache.hadoop.yarn.client.api.NMTokenCache"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Get the NM token cache of the <code>AMRMClient</code>. This cache must be
shared with the {@link NMClient} used to manage containers for the
<code>AMRMClient</code>.
<p/>
If a NM token cache is not set, the {@link NMTokenCache#getSingleton()}
singleton instance will be used.
@return the NM token cache.]]>
</doc>
</method>
<method name="waitFor"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="check" type="com.google.common.base.Supplier"/>
<exception name="InterruptedException" type="java.lang.InterruptedException"/>
<doc>
<![CDATA[Wait for <code>check</code> to return true for each 1000 ms.
See also {@link #waitFor(com.google.common.base.Supplier, int)}
and {@link #waitFor(com.google.common.base.Supplier, int, int)}
@param check]]>
</doc>
</method>
<method name="waitFor"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="check" type="com.google.common.base.Supplier"/>
<param name="checkEveryMillis" type="int"/>
<exception name="InterruptedException" type="java.lang.InterruptedException"/>
<doc>
<![CDATA[Wait for <code>check</code> to return true for each
<code>checkEveryMillis</code> ms.
See also {@link #waitFor(com.google.common.base.Supplier, int, int)}
@param check user defined checker
@param checkEveryMillis interval to call <code>check</code>]]>
</doc>
</method>
<method name="waitFor"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="check" type="com.google.common.base.Supplier"/>
<param name="checkEveryMillis" type="int"/>
<param name="logInterval" type="int"/>
<exception name="InterruptedException" type="java.lang.InterruptedException"/>
<doc>
<![CDATA[Wait for <code>check</code> to return true for each
<code>checkEveryMillis</code> ms. In the main loop, this method will log
the message "waiting in main loop" for each <code>logInterval</code> times
iteration to confirm the thread is alive.
@param check user defined checker
@param checkEveryMillis interval to call <code>check</code>
@param logInterval interval to log for each]]>
</doc>
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.AMRMClient -->
<!-- start class org.apache.hadoop.yarn.client.api.AMRMClient.ContainerRequest -->
<class name="AMRMClient.ContainerRequest" extends="java.lang.Object"
abstract="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="AMRMClient.ContainerRequest" type="org.apache.hadoop.yarn.api.records.Resource, java.lang.String[], java.lang.String[], org.apache.hadoop.yarn.api.records.Priority"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Instantiates a {@link ContainerRequest} with the given constraints and
locality relaxation enabled.
@param capability
The {@link Resource} to be requested for each container.
@param nodes
Any hosts to request that the containers are placed on.
@param racks
Any racks to request that the containers are placed on. The
racks corresponding to any hosts requested will be automatically
added to this list.
@param priority
The priority at which to request the containers. Higher
priorities have lower numerical values.]]>
</doc>
</constructor>
<constructor name="AMRMClient.ContainerRequest" type="org.apache.hadoop.yarn.api.records.Resource, java.lang.String[], java.lang.String[], org.apache.hadoop.yarn.api.records.Priority, boolean"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Instantiates a {@link ContainerRequest} with the given constraints.
@param capability
The {@link Resource} to be requested for each container.
@param nodes
Any hosts to request that the containers are placed on.
@param racks
Any racks to request that the containers are placed on. The
racks corresponding to any hosts requested will be automatically
added to this list.
@param priority
The priority at which to request the containers. Higher
priorities have lower numerical values.
@param relaxLocality
If true, containers for this request may be assigned on hosts
and racks other than the ones explicitly requested.]]>
</doc>
</constructor>
<constructor name="AMRMClient.ContainerRequest" type="org.apache.hadoop.yarn.api.records.Resource, java.lang.String[], java.lang.String[], org.apache.hadoop.yarn.api.records.Priority, boolean, java.lang.String"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Instantiates a {@link ContainerRequest} with the given constraints.
@param capability
The {@link Resource} to be requested for each container.
@param nodes
Any hosts to request that the containers are placed on.
@param racks
Any racks to request that the containers are placed on. The
racks corresponding to any hosts requested will be automatically
added to this list.
@param priority
The priority at which to request the containers. Higher
priorities have lower numerical values.
@param relaxLocality
If true, containers for this request may be assigned on hosts
and racks other than the ones explicitly requested.
@param nodeLabelsExpression
Set node labels to allocate resource]]>
</doc>
</constructor>
<method name="getCapability" return="org.apache.hadoop.yarn.api.records.Resource"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getNodes" return="java.util.List"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getRacks" return="java.util.List"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getPriority" return="org.apache.hadoop.yarn.api.records.Priority"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getRelaxLocality" return="boolean"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getNodeLabelExpression" return="java.lang.String"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="toString" return="java.lang.String"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<doc>
<![CDATA[Object to represent a single container request for resources. Scheduler
documentation should be consulted for the specifics of how the parameters
are honored.
By default, YARN schedulers try to allocate containers at the requested
locations but they may relax the constraints in order to expedite meeting
allocations limits. They first relax the constraint to the same rack as the
requested node and then to anywhere in the cluster. The relaxLocality flag
may be used to disable locality relaxation and request containers at only
specific locations. The following conditions apply.
<ul>
<li>Within a priority, all container requests must have the same value for
locality relaxation. Either enabled or disabled.</li>
<li>If locality relaxation is disabled, then across requests, locations at
different network levels may not be specified. E.g. its invalid to make a
request for a specific node and another request for a specific rack.</li>
<li>If locality relaxation is disabled, then only within the same request,
a node and its rack may be specified together. This allows for a specific
rack with a preference for a specific node within that rack.</li>
<li></li>
</ul>
To re-enable locality relaxation at a given priority, all pending requests
with locality relaxation disabled must be first removed. Then they can be
added back with locality relaxation enabled.
All getters return immutable values.]]>
</doc>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.AMRMClient.ContainerRequest -->
<!-- start class org.apache.hadoop.yarn.client.api.InvalidContainerRequestException -->
<class name="InvalidContainerRequestException" extends="org.apache.hadoop.yarn.exceptions.YarnRuntimeException"
abstract="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="InvalidContainerRequestException" type="java.lang.Throwable"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<constructor name="InvalidContainerRequestException" type="java.lang.String"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<constructor name="InvalidContainerRequestException" type="java.lang.String, java.lang.Throwable"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<doc>
<![CDATA[Thrown when an arguments are combined to construct a
<code>AMRMClient.ContainerRequest</code> in an invalid way.]]>
</doc>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.InvalidContainerRequestException -->
<!-- start class org.apache.hadoop.yarn.client.api.NMClient -->
<class name="NMClient" extends="org.apache.hadoop.service.AbstractService"
abstract="true"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="NMClient" type="java.lang.String"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<method name="createNMClient" return="org.apache.hadoop.yarn.client.api.NMClient"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Create a new instance of NMClient.]]>
</doc>
</method>
<method name="createNMClient" return="org.apache.hadoop.yarn.client.api.NMClient"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<param name="name" type="java.lang.String"/>
<doc>
<![CDATA[Create a new instance of NMClient.]]>
</doc>
</method>
<method name="startContainer" return="java.util.Map"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="container" type="org.apache.hadoop.yarn.api.records.Container"/>
<param name="containerLaunchContext" type="org.apache.hadoop.yarn.api.records.ContainerLaunchContext"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>Start an allocated container.</p>
<p>The <code>ApplicationMaster</code> or other applications that use the
client must provide the details of the allocated container, including the
Id, the assigned node's Id and the token via {@link Container}. In
addition, the AM needs to provide the {@link ContainerLaunchContext} as
well.</p>
@param container the allocated container
@param containerLaunchContext the context information needed by the
<code>NodeManager</code> to launch the
container
@return a map between the auxiliary service names and their outputs
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="stopContainer"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<param name="nodeId" type="org.apache.hadoop.yarn.api.records.NodeId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>Stop an started container.</p>
@param containerId the Id of the started container
@param nodeId the Id of the <code>NodeManager</code>
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getContainerStatus" return="org.apache.hadoop.yarn.api.records.ContainerStatus"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<param name="nodeId" type="org.apache.hadoop.yarn.api.records.NodeId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>Query the status of a container.</p>
@param containerId the Id of the started container
@param nodeId the Id of the <code>NodeManager</code>
@return the status of a container
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="cleanupRunningContainersOnStop"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="enabled" type="boolean"/>
<doc>
<![CDATA[<p>Set whether the containers that are started by this client, and are
still running should be stopped when the client stops. By default, the
feature should be enabled.</p> However, containers will be stopped only
when service is stopped. i.e. after {@link NMClient#stop()}.
@param enabled whether the feature is enabled or not]]>
</doc>
</method>
<method name="setNMTokenCache"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="nmTokenCache" type="org.apache.hadoop.yarn.client.api.NMTokenCache"/>
<doc>
<![CDATA[Set the NM Token cache of the <code>NMClient</code>. This cache must be
shared with the {@link AMRMClient} that requested the containers managed
by this <code>NMClient</code>
<p/>
If a NM token cache is not set, the {@link NMTokenCache#getSingleton()}
singleton instance will be used.
@param nmTokenCache the NM token cache to use.]]>
</doc>
</method>
<method name="getNMTokenCache" return="org.apache.hadoop.yarn.client.api.NMTokenCache"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Get the NM token cache of the <code>NMClient</code>. This cache must be
shared with the {@link AMRMClient} that requested the containers managed
by this <code>NMClient</code>
<p/>
If a NM token cache is not set, the {@link NMTokenCache#getSingleton()}
singleton instance will be used.
@return the NM token cache]]>
</doc>
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.NMClient -->
<!-- start class org.apache.hadoop.yarn.client.api.NMTokenCache -->
<class name="NMTokenCache" extends="java.lang.Object"
abstract="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="NMTokenCache"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Creates a NM token cache instance.]]>
</doc>
</constructor>
<method name="getSingleton" return="org.apache.hadoop.yarn.client.api.NMTokenCache"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Returns the singleton NM token cache.
@return the singleton NM token cache.]]>
</doc>
</method>
<method name="getNMToken" return="org.apache.hadoop.yarn.api.records.Token"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<param name="nodeAddr" type="java.lang.String"/>
<doc>
<![CDATA[Returns NMToken, null if absent. Only the singleton obtained from
{@link #getSingleton()} is looked at for the tokens. If you are using your
own NMTokenCache that is different from the singleton, use
{@link #getToken(String) }
@param nodeAddr
@return {@link Token} NMToken required for communicating with node manager]]>
</doc>
</method>
<method name="setNMToken"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<param name="nodeAddr" type="java.lang.String"/>
<param name="token" type="org.apache.hadoop.yarn.api.records.Token"/>
<doc>
<![CDATA[Sets the NMToken for node address only in the singleton obtained from
{@link #getSingleton()}. If you are using your own NMTokenCache that is
different from the singleton, use {@link #setToken(String, Token) }
@param nodeAddr
node address (host:port)
@param token
NMToken]]>
</doc>
</method>
<method name="getToken" return="org.apache.hadoop.yarn.api.records.Token"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="nodeAddr" type="java.lang.String"/>
<doc>
<![CDATA[Returns NMToken, null if absent
@param nodeAddr
@return {@link Token} NMToken required for communicating with node
manager]]>
</doc>
</method>
<method name="setToken"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="nodeAddr" type="java.lang.String"/>
<param name="token" type="org.apache.hadoop.yarn.api.records.Token"/>
<doc>
<![CDATA[Sets the NMToken for node address
@param nodeAddr node address (host:port)
@param token NMToken]]>
</doc>
</method>
<doc>
<![CDATA[NMTokenCache manages NMTokens required for an Application Master
communicating with individual NodeManagers.
<p/>
By default Yarn client libraries {@link AMRMClient} and {@link NMClient} use
{@link #getSingleton()} instance of the cache.
<ul>
<li>Using the singleton instance of the cache is appropriate when running a
single ApplicationMaster in the same JVM.</li>
<li>When using the singleton, users don't need to do anything special,
{@link AMRMClient} and {@link NMClient} are already set up to use the default
singleton {@link NMTokenCache}</li>
</ul>
<p/>
If running multiple Application Masters in the same JVM, a different cache
instance should be used for each Application Master.
<p/>
<ul>
<li>
If using the {@link AMRMClient} and the {@link NMClient}, setting up and using
an instance cache is as follows:
<p/>
<pre>
NMTokenCache nmTokenCache = new NMTokenCache();
AMRMClient rmClient = AMRMClient.createAMRMClient();
NMClient nmClient = NMClient.createNMClient();
nmClient.setNMTokenCache(nmTokenCache);
...
</pre>
</li>
<li>
If using the {@link AMRMClientAsync} and the {@link NMClientAsync}, setting up
and using an instance cache is as follows:
<p/>
<pre>
NMTokenCache nmTokenCache = new NMTokenCache();
AMRMClient rmClient = AMRMClient.createAMRMClient();
NMClient nmClient = NMClient.createNMClient();
nmClient.setNMTokenCache(nmTokenCache);
AMRMClientAsync rmClientAsync = new AMRMClientAsync(rmClient, 1000, [AMRM_CALLBACK]);
NMClientAsync nmClientAsync = new NMClientAsync("nmClient", nmClient, [NM_CALLBACK]);
...
</pre>
</li>
<li>
If using {@link ApplicationMasterProtocol} and
{@link ContainerManagementProtocol} directly, setting up and using an
instance cache is as follows:
<p/>
<pre>
NMTokenCache nmTokenCache = new NMTokenCache();
...
ApplicationMasterProtocol amPro = ClientRMProxy.createRMProxy(conf, ApplicationMasterProtocol.class);
...
AllocateRequest allocateRequest = ...
...
AllocateResponse allocateResponse = rmClient.allocate(allocateRequest);
for (NMToken token : allocateResponse.getNMTokens()) {
nmTokenCache.setToken(token.getNodeId().toString(), token.getToken());
}
...
ContainerManagementProtocolProxy nmPro = ContainerManagementProtocolProxy(conf, nmTokenCache);
...
nmPro.startContainer(container, containerContext);
...
</pre>
</li>
</ul>
It is also possible to mix the usage of a client (<code>AMRMClient</code> or
<code>NMClient</code>, or the async versions of them) with a protocol proxy (
<code>ContainerManagementProtocolProxy</code> or
<code>ApplicationMasterProtocol</code>).]]>
</doc>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.NMTokenCache -->
<!-- start class org.apache.hadoop.yarn.client.api.YarnClient -->
<class name="YarnClient" extends="org.apache.hadoop.service.AbstractService"
abstract="true"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="YarnClient" type="java.lang.String"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<method name="createYarnClient" return="org.apache.hadoop.yarn.client.api.YarnClient"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Create a new instance of YarnClient.]]>
</doc>
</method>
<method name="createApplication" return="org.apache.hadoop.yarn.client.api.YarnClientApplication"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Obtain a {@link YarnClientApplication} for a new application,
which in turn contains the {@link ApplicationSubmissionContext} and
{@link org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse}
objects.
</p>
@return {@link YarnClientApplication} built for a new application
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="submitApplication" return="org.apache.hadoop.yarn.api.records.ApplicationId"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="appContext" type="org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Submit a new application to <code>YARN.</code> It is a blocking call - it
will not return {@link ApplicationId} until the submitted application is
submitted successfully and accepted by the ResourceManager.
</p>
<p>
Users should provide an {@link ApplicationId} as part of the parameter
{@link ApplicationSubmissionContext} when submitting a new application,
otherwise it will throw the {@link ApplicationIdNotProvidedException}.
</p>
<p>This internally calls {@link ApplicationClientProtocol#submitApplication
(SubmitApplicationRequest)}, and after that, it internally invokes
{@link ApplicationClientProtocol#getApplicationReport
(GetApplicationReportRequest)} and waits till it can make sure that the
application gets properly submitted. If RM fails over or RM restart
happens before ResourceManager saves the application's state,
{@link ApplicationClientProtocol
#getApplicationReport(GetApplicationReportRequest)} will throw
the {@link ApplicationNotFoundException}. This API automatically resubmits
the application with the same {@link ApplicationSubmissionContext} when it
catches the {@link ApplicationNotFoundException}</p>
@param appContext
{@link ApplicationSubmissionContext} containing all the details
needed to submit a new application
@return {@link ApplicationId} of the accepted application
@throws YarnException
@throws IOException
@see #createApplication()]]>
</doc>
</method>
<method name="killApplication"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="applicationId" type="org.apache.hadoop.yarn.api.records.ApplicationId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Kill an application identified by given ID.
</p>
@param applicationId
{@link ApplicationId} of the application that needs to be killed
@throws YarnException
in case of errors or if YARN rejects the request due to
access-control restrictions.
@throws IOException
@see #getQueueAclsInfo()]]>
</doc>
</method>
<method name="getApplicationReport" return="org.apache.hadoop.yarn.api.records.ApplicationReport"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="appId" type="org.apache.hadoop.yarn.api.records.ApplicationId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of the given Application.
</p>
<p>
In secure mode, <code>YARN</code> verifies access to the application, queue
etc. before accepting the request.
</p>
<p>
If the user does not have <code>VIEW_APP</code> access then the following
fields in the report will be set to stubbed values:
<ul>
<li>host - set to "N/A"</li>
<li>RPC port - set to -1</li>
<li>client token - set to "N/A"</li>
<li>diagnostics - set to "N/A"</li>
<li>tracking URL - set to "N/A"</li>
<li>original tracking URL - set to "N/A"</li>
<li>resource usage report - all values are -1</li>
</ul>
</p>
@param appId
{@link ApplicationId} of the application that needs a report
@return application report
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getAMRMToken" return="org.apache.hadoop.security.token.Token"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="appId" type="org.apache.hadoop.yarn.api.records.ApplicationId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[Get the AMRM token of the application.
<p/>
The AMRM token is required for AM to RM scheduling operations. For
managed Application Masters Yarn takes care of injecting it. For unmanaged
Applications Masters, the token must be obtained via this method and set
in the {@link org.apache.hadoop.security.UserGroupInformation} of the
current user.
<p/>
The AMRM token will be returned only if all the following conditions are
met:
<li>
<ul>the requester is the owner of the ApplicationMaster</ul>
<ul>the application master is an unmanaged ApplicationMaster</ul>
<ul>the application master is in ACCEPTED state</ul>
</li>
Else this method returns NULL.
@param appId {@link ApplicationId} of the application to get the AMRM token
@return the AMRM token if available
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getApplications" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report (ApplicationReport) of all Applications in the cluster.
</p>
<p>
If the user does not have <code>VIEW_APP</code> access for an application
then the corresponding report will be filtered as described in
{@link #getApplicationReport(ApplicationId)}.
</p>
@return a list of reports of all running applications
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getApplications" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="applicationTypes" type="java.util.Set"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report (ApplicationReport) of Applications
matching the given application types in the cluster.
</p>
<p>
If the user does not have <code>VIEW_APP</code> access for an application
then the corresponding report will be filtered as described in
{@link #getApplicationReport(ApplicationId)}.
</p>
@param applicationTypes
@return a list of reports of applications
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getApplications" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="applicationStates" type="java.util.EnumSet"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report (ApplicationReport) of Applications matching the given
application states in the cluster.
</p>
<p>
If the user does not have <code>VIEW_APP</code> access for an application
then the corresponding report will be filtered as described in
{@link #getApplicationReport(ApplicationId)}.
</p>
@param applicationStates
@return a list of reports of applications
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getApplications" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="applicationTypes" type="java.util.Set"/>
<param name="applicationStates" type="java.util.EnumSet"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report (ApplicationReport) of Applications matching the given
application types and application states in the cluster.
</p>
<p>
If the user does not have <code>VIEW_APP</code> access for an application
then the corresponding report will be filtered as described in
{@link #getApplicationReport(ApplicationId)}.
</p>
@param applicationTypes
@param applicationStates
@return a list of reports of applications
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getYarnClusterMetrics" return="org.apache.hadoop.yarn.api.records.YarnClusterMetrics"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get metrics ({@link YarnClusterMetrics}) about the cluster.
</p>
@return cluster metrics
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getNodeReports" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="states" type="org.apache.hadoop.yarn.api.records.NodeState[]"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of nodes ({@link NodeReport}) in the cluster.
</p>
@param states The {@link NodeState}s to filter on. If no filter states are
given, nodes in all states will be returned.
@return A list of node reports
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getRMDelegationToken" return="org.apache.hadoop.yarn.api.records.Token"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="renewer" type="org.apache.hadoop.io.Text"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a delegation token so as to be able to talk to YARN using those tokens.
@param renewer
Address of the renewer who can renew these tokens when needed by
securely talking to YARN.
@return a delegation token ({@link Token}) that can be used to
talk to YARN
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getQueueInfo" return="org.apache.hadoop.yarn.api.records.QueueInfo"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="queueName" type="java.lang.String"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get information ({@link QueueInfo}) about a given <em>queue</em>.
</p>
@param queueName
Name of the queue whose information is needed
@return queue information
@throws YarnException
in case of errors or if YARN rejects the request due to
access-control restrictions.
@throws IOException]]>
</doc>
</method>
<method name="getAllQueues" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get information ({@link QueueInfo}) about all queues, recursively if there
is a hierarchy
</p>
@return a list of queue-information for all queues
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getRootQueueInfos" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get information ({@link QueueInfo}) about top level queues.
</p>
@return a list of queue-information for all the top-level queues
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getChildQueueInfos" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="parent" type="java.lang.String"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get information ({@link QueueInfo}) about all the immediate children queues
of the given queue
</p>
@param parent
Name of the queue whose child-queues' information is needed
@return a list of queue-information for all queues who are direct children
of the given parent queue.
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getQueueAclsInfo" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get information about <em>acls</em> for <em>current user</em> on all the
existing queues.
</p>
@return a list of queue acls ({@link QueueUserACLInfo}) for
<em>current user</em>
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getApplicationAttemptReport" return="org.apache.hadoop.yarn.api.records.ApplicationAttemptReport"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="applicationAttemptId" type="org.apache.hadoop.yarn.api.records.ApplicationAttemptId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of the given ApplicationAttempt.
</p>
<p>
In secure mode, <code>YARN</code> verifies access to the application, queue
etc. before accepting the request.
</p>
@param applicationAttemptId
{@link ApplicationAttemptId} of the application attempt that needs
a report
@return application attempt report
@throws YarnException
@throws {@link ApplicationAttemptNotFoundException} if application attempt
not found
@throws IOException]]>
</doc>
</method>
<method name="getApplicationAttempts" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="applicationId" type="org.apache.hadoop.yarn.api.records.ApplicationId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of all (ApplicationAttempts) of Application in the cluster.
</p>
@param applicationId
@return a list of reports for all application attempts for specified
application.
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getContainerReport" return="org.apache.hadoop.yarn.api.records.ContainerReport"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of the given Container.
</p>
<p>
In secure mode, <code>YARN</code> verifies access to the application, queue
etc. before accepting the request.
</p>
@param containerId
{@link ContainerId} of the container that needs a report
@return container report
@throws YarnException
@throws {@link ContainerNotFoundException} if container not found.
@throws IOException]]>
</doc>
</method>
<method name="getContainers" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="applicationAttemptId" type="org.apache.hadoop.yarn.api.records.ApplicationAttemptId"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Get a report of all (Containers) of ApplicationAttempt in the cluster.
</p>
@param applicationAttemptId
@return a list of reports of all containers for specified application
attempts
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="moveApplicationAcrossQueues"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="appId" type="org.apache.hadoop.yarn.api.records.ApplicationId"/>
<param name="queue" type="java.lang.String"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Attempts to move the given application to the given queue.
</p>
@param appId
Application to move.
@param queue
Queue to place it in to.
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="submitReservation" return="org.apache.hadoop.yarn.api.protocolrecords.ReservationSubmissionResponse"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="request" type="org.apache.hadoop.yarn.api.protocolrecords.ReservationSubmissionRequest"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
The interface used by clients to submit a new reservation to the
{@code ResourceManager}.
</p>
<p>
The client packages all details of its request in a
{@link ReservationSubmissionRequest} object. This contains information
about the amount of capacity, temporal constraints, and gang needs.
Furthermore, the reservation might be composed of multiple stages, with
ordering dependencies among them.
</p>
<p>
In order to respond, a new admission control component in the
{@code ResourceManager} performs an analysis of the resources that have
been committed over the period of time the user is requesting, verify that
the user requests can be fulfilled, and that it respect a sharing policy
(e.g., {@code CapacityOverTimePolicy}). Once it has positively determined
that the ReservationRequest is satisfiable the {@code ResourceManager}
answers with a {@link ReservationSubmissionResponse} that includes a
{@link ReservationId}. Upon failure to find a valid allocation the response
is an exception with the message detailing the reason of failure.
</p>
<p>
The semantics guarantees that the {@link ReservationId} returned,
corresponds to a valid reservation existing in the time-range request by
the user. The amount of capacity dedicated to such reservation can vary
overtime, depending of the allocation that has been determined. But it is
guaranteed to satisfy all the constraint expressed by the user in the
{@link ReservationDefinition}
</p>
@param request request to submit a new Reservation
@return response contains the {@link ReservationId} on accepting the
submission
@throws YarnException if the reservation cannot be created successfully
@throws IOException]]>
</doc>
</method>
<method name="updateReservation" return="org.apache.hadoop.yarn.api.protocolrecords.ReservationUpdateResponse"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="request" type="org.apache.hadoop.yarn.api.protocolrecords.ReservationUpdateRequest"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
The interface used by clients to update an existing Reservation. This is
referred to as a re-negotiation process, in which a user that has
previously submitted a Reservation.
</p>
<p>
The allocation is attempted by virtually substituting all previous
allocations related to this Reservation with new ones, that satisfy the new
{@link ReservationDefinition}. Upon success the previous allocation is
atomically substituted by the new one, and on failure (i.e., if the system
cannot find a valid allocation for the updated request), the previous
allocation remains valid.
</p>
@param request to update an existing Reservation (the
{@link ReservationUpdateRequest} should refer to an existing valid
{@link ReservationId})
@return response empty on successfully updating the existing reservation
@throws YarnException if the request is invalid or reservation cannot be
updated successfully
@throws IOException]]>
</doc>
</method>
<method name="deleteReservation" return="org.apache.hadoop.yarn.api.protocolrecords.ReservationDeleteResponse"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="request" type="org.apache.hadoop.yarn.api.protocolrecords.ReservationDeleteRequest"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
The interface used by clients to remove an existing Reservation.
</p>
@param request to remove an existing Reservation (the
{@link ReservationDeleteRequest} should refer to an existing valid
{@link ReservationId})
@return response empty on successfully deleting the existing reservation
@throws YarnException if the request is invalid or reservation cannot be
deleted successfully
@throws IOException]]>
</doc>
</method>
<method name="getNodeToLabels" return="java.util.Map"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
The interface used by client to get node to labels mappings in existing cluster
</p>
@return node to labels mappings
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getClusterNodeLabels" return="java.util.Set"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
The interface used by client to get node labels in the cluster
</p>
@return cluster node labels collection
@throws YarnException
@throws IOException]]>
</doc>
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.YarnClient -->
<!-- start class org.apache.hadoop.yarn.client.api.YarnClientApplication -->
<class name="YarnClientApplication" extends="java.lang.Object"
abstract="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="YarnClientApplication" type="org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse, org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<method name="getNewApplicationResponse" return="org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getApplicationSubmissionContext" return="org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.YarnClientApplication -->
</package>
<package name="org.apache.hadoop.yarn.client.api.async">
<!-- start class org.apache.hadoop.yarn.client.api.async.AMRMClientAsync -->
<class name="AMRMClientAsync" extends="org.apache.hadoop.service.AbstractService"
abstract="true"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="AMRMClientAsync" type="int, org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<constructor name="AMRMClientAsync" type="org.apache.hadoop.yarn.client.api.AMRMClient, int, org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<method name="createAMRMClientAsync" return="org.apache.hadoop.yarn.client.api.async.AMRMClientAsync"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<param name="intervalMs" type="int"/>
<param name="callbackHandler" type="org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler"/>
</method>
<method name="createAMRMClientAsync" return="org.apache.hadoop.yarn.client.api.async.AMRMClientAsync"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<param name="client" type="org.apache.hadoop.yarn.client.api.AMRMClient"/>
<param name="intervalMs" type="int"/>
<param name="callbackHandler" type="org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler"/>
</method>
<method name="setHeartbeatInterval"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="interval" type="int"/>
</method>
<method name="getMatchingRequests" return="java.util.List"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="priority" type="org.apache.hadoop.yarn.api.records.Priority"/>
<param name="resourceName" type="java.lang.String"/>
<param name="capability" type="org.apache.hadoop.yarn.api.records.Resource"/>
</method>
<method name="registerApplicationMaster" return="org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterResponse"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="appHostName" type="java.lang.String"/>
<param name="appHostPort" type="int"/>
<param name="appTrackingUrl" type="java.lang.String"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[Registers this application master with the resource manager. On successful
registration, starts the heartbeating thread.
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="unregisterApplicationMaster"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="appStatus" type="org.apache.hadoop.yarn.api.records.FinalApplicationStatus"/>
<param name="appMessage" type="java.lang.String"/>
<param name="appTrackingUrl" type="java.lang.String"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[Unregister the application master. This must be called in the end.
@param appStatus Success/Failure status of the master
@param appMessage Diagnostics message on failure
@param appTrackingUrl New URL to get master info
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="addContainerRequest"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="req" type="T"/>
<doc>
<![CDATA[Request containers for resources before calling <code>allocate</code>
@param req Resource request]]>
</doc>
</method>
<method name="removeContainerRequest"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="req" type="T"/>
<doc>
<![CDATA[Remove previous container request. The previous container request may have
already been sent to the ResourceManager. So even after the remove request
the app must be prepared to receive an allocation for the previous request
even after the remove request
@param req Resource request]]>
</doc>
</method>
<method name="releaseAssignedContainer"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<doc>
<![CDATA[Release containers assigned by the Resource Manager. If the app cannot use
the container or wants to give up the container then it can release them.
The app needs to make new requests for the released resource capability if
it still needs it. eg. it released non-local resources
@param containerId]]>
</doc>
</method>
<method name="getAvailableResources" return="org.apache.hadoop.yarn.api.records.Resource"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Get the currently available resources in the cluster.
A valid value is available after a call to allocate has been made
@return Currently available resources]]>
</doc>
</method>
<method name="getClusterNodeCount" return="int"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Get the current number of nodes in the cluster.
A valid values is available after a call to allocate has been made
@return Current number of nodes in the cluster]]>
</doc>
</method>
<method name="waitFor"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="check" type="com.google.common.base.Supplier"/>
<exception name="InterruptedException" type="java.lang.InterruptedException"/>
<doc>
<![CDATA[Wait for <code>check</code> to return true for each 1000 ms.
See also {@link #waitFor(com.google.common.base.Supplier, int)}
and {@link #waitFor(com.google.common.base.Supplier, int, int)}
@param check]]>
</doc>
</method>
<method name="waitFor"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="check" type="com.google.common.base.Supplier"/>
<param name="checkEveryMillis" type="int"/>
<exception name="InterruptedException" type="java.lang.InterruptedException"/>
<doc>
<![CDATA[Wait for <code>check</code> to return true for each
<code>checkEveryMillis</code> ms.
See also {@link #waitFor(com.google.common.base.Supplier, int, int)}
@param check user defined checker
@param checkEveryMillis interval to call <code>check</code>]]>
</doc>
</method>
<method name="waitFor"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="check" type="com.google.common.base.Supplier"/>
<param name="checkEveryMillis" type="int"/>
<param name="logInterval" type="int"/>
<exception name="InterruptedException" type="java.lang.InterruptedException"/>
<doc>
<![CDATA[Wait for <code>check</code> to return true for each
<code>checkEveryMillis</code> ms. In the main loop, this method will log
the message "waiting in main loop" for each <code>logInterval</code> times
iteration to confirm the thread is alive.
@param check user defined checker
@param checkEveryMillis interval to call <code>check</code>
@param logInterval interval to log for each]]>
</doc>
</method>
<field name="client" type="org.apache.hadoop.yarn.client.api.AMRMClient"
transient="false" volatile="false"
static="false" final="true" visibility="protected"
deprecated="not deprecated">
</field>
<field name="handler" type="org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler"
transient="false" volatile="false"
static="false" final="true" visibility="protected"
deprecated="not deprecated">
</field>
<field name="heartbeatIntervalMs" type="java.util.concurrent.atomic.AtomicInteger"
transient="false" volatile="false"
static="false" final="true" visibility="protected"
deprecated="not deprecated">
</field>
<doc>
<![CDATA[<code>AMRMClientAsync</code> handles communication with the ResourceManager
and provides asynchronous updates on events such as container allocations and
completions. It contains a thread that sends periodic heartbeats to the
ResourceManager.
It should be used by implementing a CallbackHandler:
<pre>
{@code
class MyCallbackHandler implements AMRMClientAsync.CallbackHandler {
public void onContainersAllocated(List<Container> containers) {
[run tasks on the containers]
}
public void onContainersCompleted(List<ContainerStatus> statuses) {
[update progress, check whether app is done]
}
public void onNodesUpdated(List<NodeReport> updated) {}
public void onReboot() {}
}
}
</pre>
The client's lifecycle should be managed similarly to the following:
<pre>
{@code
AMRMClientAsync asyncClient =
createAMRMClientAsync(appAttId, 1000, new MyCallbackhandler());
asyncClient.init(conf);
asyncClient.start();
RegisterApplicationMasterResponse response = asyncClient
.registerApplicationMaster(appMasterHostname, appMasterRpcPort,
appMasterTrackingUrl);
asyncClient.addContainerRequest(containerRequest);
[... wait for application to complete]
asyncClient.unregisterApplicationMaster(status, appMsg, trackingUrl);
asyncClient.stop();
}
</pre>]]>
</doc>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.AMRMClientAsync -->
<!-- start interface org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler -->
<interface name="AMRMClientAsync.CallbackHandler" abstract="true"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<method name="onContainersCompleted"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="statuses" type="java.util.List"/>
<doc>
<![CDATA[Called when the ResourceManager responds to a heartbeat with completed
containers. If the response contains both completed containers and
allocated containers, this will be called before containersAllocated.]]>
</doc>
</method>
<method name="onContainersAllocated"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containers" type="java.util.List"/>
<doc>
<![CDATA[Called when the ResourceManager responds to a heartbeat with allocated
containers. If the response containers both completed containers and
allocated containers, this will be called after containersCompleted.]]>
</doc>
</method>
<method name="onShutdownRequest"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<doc>
<![CDATA[Called when the ResourceManager wants the ApplicationMaster to shutdown
for being out of sync etc. The ApplicationMaster should not unregister
with the RM unless the ApplicationMaster wants to be the last attempt.]]>
</doc>
</method>
<method name="onNodesUpdated"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="updatedNodes" type="java.util.List"/>
<doc>
<![CDATA[Called when nodes tracked by the ResourceManager have changed in health,
availability etc.]]>
</doc>
</method>
<method name="getProgress" return="float"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="onError"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="e" type="java.lang.Throwable"/>
<doc>
<![CDATA[Called when error comes from RM communications as well as from errors in
the callback itself from the app. Calling
stop() is the recommended action.
@param e]]>
</doc>
</method>
</interface>
<!-- end interface org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler -->
<!-- start class org.apache.hadoop.yarn.client.api.async.NMClientAsync -->
<class name="NMClientAsync" extends="org.apache.hadoop.service.AbstractService"
abstract="true"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="NMClientAsync" type="org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<constructor name="NMClientAsync" type="java.lang.String, org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<constructor name="NMClientAsync" type="java.lang.String, org.apache.hadoop.yarn.client.api.NMClient, org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<method name="createNMClientAsync" return="org.apache.hadoop.yarn.client.api.async.NMClientAsync"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<param name="callbackHandler" type="org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler"/>
</method>
<method name="startContainerAsync"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="container" type="org.apache.hadoop.yarn.api.records.Container"/>
<param name="containerLaunchContext" type="org.apache.hadoop.yarn.api.records.ContainerLaunchContext"/>
</method>
<method name="stopContainerAsync"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<param name="nodeId" type="org.apache.hadoop.yarn.api.records.NodeId"/>
</method>
<method name="getContainerStatusAsync"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<param name="nodeId" type="org.apache.hadoop.yarn.api.records.NodeId"/>
</method>
<method name="getClient" return="org.apache.hadoop.yarn.client.api.NMClient"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="setClient"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="client" type="org.apache.hadoop.yarn.client.api.NMClient"/>
</method>
<method name="getCallbackHandler" return="org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="setCallbackHandler"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="callbackHandler" type="org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler"/>
</method>
<field name="client" type="org.apache.hadoop.yarn.client.api.NMClient"
transient="false" volatile="false"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</field>
<field name="callbackHandler" type="org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler"
transient="false" volatile="false"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</field>
<doc>
<![CDATA[<code>NMClientAsync</code> handles communication with all the NodeManagers
and provides asynchronous updates on getting responses from them. It
maintains a thread pool to communicate with individual NMs where a number of
worker threads process requests to NMs by using {@link NMClientImpl}. The max
size of the thread pool is configurable through
{@link YarnConfiguration#NM_CLIENT_ASYNC_THREAD_POOL_MAX_SIZE}.
It should be used in conjunction with a CallbackHandler. For example
<pre>
{@code
class MyCallbackHandler implements NMClientAsync.CallbackHandler {
public void onContainerStarted(ContainerId containerId,
Map<String, ByteBuffer> allServiceResponse) {
[post process after the container is started, process the response]
}
public void onContainerStatusReceived(ContainerId containerId,
ContainerStatus containerStatus) {
[make use of the status of the container]
}
public void onContainerStopped(ContainerId containerId) {
[post process after the container is stopped]
}
public void onStartContainerError(
ContainerId containerId, Throwable t) {
[handle the raised exception]
}
public void onGetContainerStatusError(
ContainerId containerId, Throwable t) {
[handle the raised exception]
}
public void onStopContainerError(
ContainerId containerId, Throwable t) {
[handle the raised exception]
}
}
}
</pre>
The client's life-cycle should be managed like the following:
<pre>
{@code
NMClientAsync asyncClient =
NMClientAsync.createNMClientAsync(new MyCallbackhandler());
asyncClient.init(conf);
asyncClient.start();
asyncClient.startContainer(container, containerLaunchContext);
[... wait for container being started]
asyncClient.getContainerStatus(container.getId(), container.getNodeId(),
container.getContainerToken());
[... handle the status in the callback instance]
asyncClient.stopContainer(container.getId(), container.getNodeId(),
container.getContainerToken());
[... wait for container being stopped]
asyncClient.stop();
}
</pre>]]>
</doc>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.NMClientAsync -->
<!-- start interface org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler -->
<interface name="NMClientAsync.CallbackHandler" abstract="true"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<method name="onContainerStarted"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<param name="allServiceResponse" type="java.util.Map"/>
<doc>
<![CDATA[The API is called when <code>NodeManager</code> responds to indicate its
acceptance of the starting container request
@param containerId the Id of the container
@param allServiceResponse a Map between the auxiliary service names and
their outputs]]>
</doc>
</method>
<method name="onContainerStatusReceived"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<param name="containerStatus" type="org.apache.hadoop.yarn.api.records.ContainerStatus"/>
<doc>
<![CDATA[The API is called when <code>NodeManager</code> responds with the status
of the container
@param containerId the Id of the container
@param containerStatus the status of the container]]>
</doc>
</method>
<method name="onContainerStopped"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<doc>
<![CDATA[The API is called when <code>NodeManager</code> responds to indicate the
container is stopped.
@param containerId the Id of the container]]>
</doc>
</method>
<method name="onStartContainerError"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<param name="t" type="java.lang.Throwable"/>
<doc>
<![CDATA[The API is called when an exception is raised in the process of
starting a container
@param containerId the Id of the container
@param t the raised exception]]>
</doc>
</method>
<method name="onGetContainerStatusError"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<param name="t" type="java.lang.Throwable"/>
<doc>
<![CDATA[The API is called when an exception is raised in the process of
querying the status of a container
@param containerId the Id of the container
@param t the raised exception]]>
</doc>
</method>
<method name="onStopContainerError"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="containerId" type="org.apache.hadoop.yarn.api.records.ContainerId"/>
<param name="t" type="java.lang.Throwable"/>
<doc>
<![CDATA[The API is called when an exception is raised in the process of
stopping a container
@param containerId the Id of the container
@param t the raised exception]]>
</doc>
</method>
<doc>
<![CDATA[<p>
The callback interface needs to be implemented by {@link NMClientAsync}
users. The APIs are called when responses from <code>NodeManager</code> are
available.
</p>
<p>
Once a callback happens, the users can chose to act on it in blocking or
non-blocking manner. If the action on callback is done in a blocking
manner, some of the threads performing requests on NodeManagers may get
blocked depending on how many threads in the pool are busy.
</p>
<p>
The implementation of the callback function should not throw the
unexpected exception. Otherwise, {@link NMClientAsync} will just
catch, log and then ignore it.
</p>]]>
</doc>
</interface>
<!-- end interface org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler -->
</package>
<package name="org.apache.hadoop.yarn.client.api.async.impl">
<!-- start class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEvent -->
<class name="NMClientAsyncImpl.ContainerEvent" extends="org.apache.hadoop.yarn.event.AbstractEvent"
abstract="false"
static="true" final="false" visibility="protected"
deprecated="not deprecated">
<constructor name="NMClientAsyncImpl.ContainerEvent" type="org.apache.hadoop.yarn.api.records.ContainerId, org.apache.hadoop.yarn.api.records.NodeId, org.apache.hadoop.yarn.api.records.Token, org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEventType"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<method name="getContainerId" return="org.apache.hadoop.yarn.api.records.ContainerId"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getNodeId" return="org.apache.hadoop.yarn.api.records.NodeId"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getContainerToken" return="org.apache.hadoop.yarn.api.records.Token"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEvent -->
<!-- start class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEventProcessor -->
<class name="NMClientAsyncImpl.ContainerEventProcessor" extends="java.lang.Object"
abstract="false"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
<implements name="java.lang.Runnable"/>
<constructor name="NMClientAsyncImpl.ContainerEventProcessor" type="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEvent"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<method name="run"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<field name="event" type="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEvent"
transient="false" volatile="false"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</field>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEventProcessor -->
<!-- start class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEventType -->
<class name="NMClientAsyncImpl.ContainerEventType" extends="java.lang.Enum"
abstract="false"
static="true" final="true" visibility="protected"
deprecated="not deprecated">
<method name="values" return="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEventType[]"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="valueOf" return="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEventType"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<param name="name" type="java.lang.String"/>
</method>
<doc>
<![CDATA[The type of the event of interacting with a container]]>
</doc>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEventType -->
<!-- start class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerState -->
<class name="NMClientAsyncImpl.ContainerState" extends="java.lang.Enum"
abstract="false"
static="true" final="true" visibility="protected"
deprecated="not deprecated">
<method name="values" return="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerState[]"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="valueOf" return="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerState"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<param name="name" type="java.lang.String"/>
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerState -->
<!-- start class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StartContainerEvent -->
<class name="NMClientAsyncImpl.StartContainerEvent" extends="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEvent"
abstract="false"
static="true" final="false" visibility="protected"
deprecated="not deprecated">
<constructor name="NMClientAsyncImpl.StartContainerEvent" type="org.apache.hadoop.yarn.api.records.Container, org.apache.hadoop.yarn.api.records.ContainerLaunchContext"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<method name="getContainer" return="org.apache.hadoop.yarn.api.records.Container"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getContainerLaunchContext" return="org.apache.hadoop.yarn.api.records.ContainerLaunchContext"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StartContainerEvent -->
<!-- start class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer -->
<class name="NMClientAsyncImpl.StatefulContainer" extends="java.lang.Object"
abstract="false"
static="true" final="false" visibility="protected"
deprecated="not deprecated">
<implements name="org.apache.hadoop.yarn.event.EventHandler"/>
<constructor name="NMClientAsyncImpl.StatefulContainer" type="org.apache.hadoop.yarn.client.api.async.NMClientAsync, org.apache.hadoop.yarn.api.records.ContainerId"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<method name="handle"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="event" type="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEvent"/>
</method>
<method name="getContainerId" return="org.apache.hadoop.yarn.api.records.ContainerId"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getState" return="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerState"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<field name="stateMachineFactory" type="org.apache.hadoop.yarn.state.StateMachineFactory"
transient="false" volatile="false"
static="true" final="true" visibility="protected"
deprecated="not deprecated">
</field>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer -->
<!-- start class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer.OutOfOrderTransition -->
<class name="NMClientAsyncImpl.StatefulContainer.OutOfOrderTransition" extends="java.lang.Object"
abstract="false"
static="true" final="false" visibility="protected"
deprecated="not deprecated">
<implements name="org.apache.hadoop.yarn.state.SingleArcTransition"/>
<constructor name="NMClientAsyncImpl.StatefulContainer.OutOfOrderTransition"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<method name="transition"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="container" type="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer"/>
<param name="event" type="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEvent"/>
</method>
<field name="STOP_BEFORE_START_ERROR_MSG" type="java.lang.String"
transient="false" volatile="false"
static="true" final="true" visibility="protected"
deprecated="not deprecated">
</field>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer.OutOfOrderTransition -->
<!-- start class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer.StartContainerTransition -->
<class name="NMClientAsyncImpl.StatefulContainer.StartContainerTransition" extends="java.lang.Object"
abstract="false"
static="true" final="false" visibility="protected"
deprecated="not deprecated">
<implements name="org.apache.hadoop.yarn.state.MultipleArcTransition"/>
<constructor name="NMClientAsyncImpl.StatefulContainer.StartContainerTransition"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<method name="transition" return="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerState"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="container" type="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer"/>
<param name="event" type="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEvent"/>
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer.StartContainerTransition -->
<!-- start class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer.StopContainerTransition -->
<class name="NMClientAsyncImpl.StatefulContainer.StopContainerTransition" extends="java.lang.Object"
abstract="false"
static="true" final="false" visibility="protected"
deprecated="not deprecated">
<implements name="org.apache.hadoop.yarn.state.MultipleArcTransition"/>
<constructor name="NMClientAsyncImpl.StatefulContainer.StopContainerTransition"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<method name="transition" return="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerState"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="container" type="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer"/>
<param name="event" type="org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.ContainerEvent"/>
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.StatefulContainer.StopContainerTransition -->
</package>
<package name="org.apache.hadoop.yarn.client.api.impl">
<!-- start class org.apache.hadoop.yarn.client.api.impl.ContainerManagementProtocolProxy.ContainerManagementProtocolProxyData -->
<class name="ContainerManagementProtocolProxy.ContainerManagementProtocolProxyData" extends="java.lang.Object"
abstract="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="ContainerManagementProtocolProxy.ContainerManagementProtocolProxyData" type="org.apache.hadoop.yarn.ipc.YarnRPC, java.lang.String, org.apache.hadoop.yarn.api.records.ContainerId, org.apache.hadoop.yarn.api.records.Token"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<exception name="SecretManager.InvalidToken" type="org.apache.hadoop.security.token.SecretManager.InvalidToken"/>
</constructor>
<method name="getContainerManagementProtocol" return="org.apache.hadoop.yarn.api.ContainerManagementProtocol"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.impl.ContainerManagementProtocolProxy.ContainerManagementProtocolProxyData -->
<!-- start class org.apache.hadoop.yarn.client.api.impl.NMClientImpl.StartedContainer -->
<class name="NMClientImpl.StartedContainer" extends="java.lang.Object"
abstract="false"
static="true" final="false" visibility="protected"
deprecated="not deprecated">
<constructor name="NMClientImpl.StartedContainer" type="org.apache.hadoop.yarn.api.records.ContainerId, org.apache.hadoop.yarn.api.records.NodeId, org.apache.hadoop.yarn.api.records.Token"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<method name="getContainerId" return="org.apache.hadoop.yarn.api.records.ContainerId"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="getNodeId" return="org.apache.hadoop.yarn.api.records.NodeId"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.impl.NMClientImpl.StartedContainer -->
</package>
<package name="org.apache.hadoop.yarn.client.cli">
<!-- start class org.apache.hadoop.yarn.client.cli.LogsCLI -->
<class name="LogsCLI" extends="org.apache.hadoop.conf.Configured"
abstract="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<implements name="org.apache.hadoop.util.Tool"/>
<constructor name="LogsCLI"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<method name="run" return="int"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="args" type="java.lang.String[]"/>
<exception name="Exception" type="java.lang.Exception"/>
</method>
<method name="createYarnClient" return="org.apache.hadoop.yarn.client.api.YarnClient"
abstract="false" native="false" synchronized="false"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</method>
<method name="main"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
<param name="args" type="java.lang.String[]"/>
<exception name="Exception" type="java.lang.Exception"/>
</method>
</class>
<!-- end class org.apache.hadoop.yarn.client.cli.LogsCLI -->
</package>
</api>