blob: 3f6c5eb5e39e2e6b12c7ab1ede7d699e9732bea7 [file] [log] [blame]
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!-- Generated by the JDiff Javadoc doclet -->
<!-- (http://www.jdiff.org) -->
<!-- on Tue Dec 05 05:39:30 UTC 2017 -->
<api
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:noNamespaceSchemaLocation='api.xsd'
name="Apache Hadoop YARN Client 2.8.3"
jdversion="1.0.9">
<!-- Command line arguments = -doclet org.apache.hadoop.classification.tools.IncludePublicAnnotationsJDiffDoclet -docletpath /build/source/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/target/hadoop-annotations.jar:/build/source/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/target/jdiff.jar -verbose -classpath /build/source/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/target/classes:/build/source/hadoop-common-project/hadoop-common/target/hadoop-common-2.8.3.jar:/maven/org/apache/commons/commons-math3/3.1.1/commons-math3-3.1.1.jar:/maven/xmlenc/xmlenc/0.52/xmlenc-0.52.jar:/maven/org/apache/httpcomponents/httpclient/4.5.2/httpclient-4.5.2.jar:/maven/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4.jar:/maven/commons-codec/commons-codec/1.4/commons-codec-1.4.jar:/maven/commons-io/commons-io/2.4/commons-io-2.4.jar:/maven/commons-net/commons-net/3.1/commons-net-3.1.jar:/maven/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar:/maven/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar:/maven/org/mortbay/jetty/jetty/6.1.26/jetty-6.1.26.jar:/maven/org/mortbay/jetty/jetty-util/6.1.26/jetty-util-6.1.26.jar:/maven/org/mortbay/jetty/jetty-sslengine/6.1.26/jetty-sslengine-6.1.26.jar:/maven/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar:/maven/com/sun/jersey/jersey-core/1.9/jersey-core-1.9.jar:/maven/com/sun/jersey/jersey-json/1.9/jersey-json-1.9.jar:/maven/com/sun/xml/bind/jaxb-impl/2.2.3-1/jaxb-impl-2.2.3-1.jar:/maven/com/sun/jersey/jersey-server/1.9/jersey-server-1.9.jar:/maven/asm/asm/3.2/asm-3.2.jar:/maven/net/java/dev/jets3t/jets3t/0.9.0/jets3t-0.9.0.jar:/maven/com/jamesmurty/utils/java-xmlbuilder/0.4/java-xmlbuilder-0.4.jar:/maven/commons-configuration/commons-configuration/1.6/commons-configuration-1.6.jar:/maven/commons-digester/commons-digester/1.8/commons-digester-1.8.jar:/maven/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar:/maven/commons-beanutils/commons-beanutils-core/1.8.0/commons-beanutils-core-1.8.0.jar:/maven/org/slf4j/slf4j-api/1.7.10/slf4j-api-1.7.10.jar:/maven/org/slf4j/slf4j-log4j12/1.7.10/slf4j-log4j12-1.7.10.jar:/maven/org/codehaus/jackson/jackson-core-asl/1.9.13/jackson-core-asl-1.9.13.jar:/maven/org/codehaus/jackson/jackson-mapper-asl/1.9.13/jackson-mapper-asl-1.9.13.jar:/maven/org/apache/avro/avro/1.7.4/avro-1.7.4.jar:/maven/com/thoughtworks/paranamer/paranamer/2.3/paranamer-2.3.jar:/maven/org/xerial/snappy/snappy-java/1.0.4.1/snappy-java-1.0.4.1.jar:/maven/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar:/maven/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar:/build/source/hadoop-common-project/hadoop-auth/target/hadoop-auth-2.8.3.jar:/maven/com/nimbusds/nimbus-jose-jwt/3.9/nimbus-jose-jwt-3.9.jar:/maven/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar:/maven/net/minidev/json-smart/1.1.1/json-smart-1.1.1.jar:/maven/org/apache/directory/server/apacheds-kerberos-codec/2.0.0-M15/apacheds-kerberos-codec-2.0.0-M15.jar:/maven/org/apache/directory/server/apacheds-i18n/2.0.0-M15/apacheds-i18n-2.0.0-M15.jar:/maven/org/apache/directory/api/api-asn1-api/1.0.0-M20/api-asn1-api-1.0.0-M20.jar:/maven/org/apache/directory/api/api-util/1.0.0-M20/api-util-1.0.0-M20.jar:/maven/org/apache/curator/curator-framework/2.7.1/curator-framework-2.7.1.jar:/maven/com/jcraft/jsch/0.1.54/jsch-0.1.54.jar:/maven/org/apache/curator/curator-client/2.7.1/curator-client-2.7.1.jar:/maven/org/apache/curator/curator-recipes/2.7.1/curator-recipes-2.7.1.jar:/maven/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.jar:/maven/org/apache/htrace/htrace-core4/4.0.1-incubating/htrace-core4-4.0.1-incubating.jar:/maven/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar:/maven/org/apache/commons/commons-compress/1.4.1/commons-compress-1.4.1.jar:/maven/org/tukaani/xz/1.0/xz-1.0.jar:/maven/com/google/guava/guava/11.0.2/guava-11.0.2.jar:/maven/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/maven/commons-lang/commons-lang/2.6/commons-lang-2.6.jar:/maven/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/maven/log4j/log4j/1.2.17/log4j-1.2.17.jar:/build/source/hadoop-common-project/hadoop-annotations/target/hadoop-annotations-2.8.3.jar:/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar:/maven/io/netty/netty/3.6.2.Final/netty-3.6.2.Final.jar:/build/source/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/target/hadoop-yarn-api-2.8.3.jar:/build/source/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/target/hadoop-yarn-common-2.8.3.jar:/maven/javax/xml/bind/jaxb-api/2.2.2/jaxb-api-2.2.2.jar:/maven/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar:/maven/javax/activation/activation/1.1/activation-1.1.jar:/maven/com/sun/jersey/jersey-client/1.9/jersey-client-1.9.jar:/maven/org/codehaus/jackson/jackson-jaxrs/1.9.13/jackson-jaxrs-1.9.13.jar:/maven/org/codehaus/jackson/jackson-xc/1.9.13/jackson-xc-1.9.13.jar:/maven/com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar:/maven/com/google/inject/guice/3.0/guice-3.0.jar:/maven/javax/inject/javax.inject/1/javax.inject-1.jar:/maven/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/maven/com/sun/jersey/contribs/jersey-guice/1.9/jersey-guice-1.9.jar:/maven/org/codehaus/jettison/jettison/1.1/jettison-1.1.jar -sourcepath /build/source/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java -apidir /build/source/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/target/site/jdiff/xml -apiname Apache Hadoop YARN Client 2.8.3 -->
<package name="org.apache.hadoop.yarn.client">
</package>
<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[Get a report of the given Application.
<p>
In secure mode, <code>YARN</code> verifies access to the application, queue
etc. before accepting the request.
<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>
@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 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 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="requestContainerResourceChange"
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="capability" type="org.apache.hadoop.yarn.api.records.Resource"/>
<doc>
<![CDATA[Request container resource change before calling <code>allocate</code>.
Any previous pending resource change request of the same container will be
removed.
Application that calls this method is expected to maintain the
<code>Container</code>s that are returned from previous successful
allocations or resource changes. By passing in the existing container and a
target resource capability to this method, the application requests the
ResourceManager to change the existing resource allocation to the target
resource allocation.
@param container The container returned from the last successful resource
allocation or resource change
@param capability The target resource capability of the container]]>
</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.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="increaseContainerResource"
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"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>Increase the resource of a container.</p>
<p>The <code>ApplicationMaster</code> or other applications that use the
client must provide the details of the container, including the Id and
the target resource encapsulated in the updated container token via
{@link Container}.
</p>
@param container the container with updated token
@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>
If running multiple Application Masters in the same JVM, a different cache
instance should be used for each Application Master.
<ul>
<li>
If using the {@link AMRMClient} and the {@link NMClient}, setting up
and using an instance cache is as follows:
<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:
<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:
<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} or
{@code NMClient}, or the async versions of them) with a protocol proxy
({@code ContainerManagementProtocolProxy} or
{@code ApplicationMasterProtocol}).]]>
</doc>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.NMTokenCache -->
<!-- start class org.apache.hadoop.yarn.client.api.SharedCacheClient -->
<class name="SharedCacheClient" extends="org.apache.hadoop.service.AbstractService"
abstract="true"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<constructor name="SharedCacheClient" type="java.lang.String"
static="false" final="false" visibility="public"
deprecated="not deprecated">
</constructor>
<method name="createSharedCacheClient" return="org.apache.hadoop.yarn.client.api.SharedCacheClient"
abstract="false" native="false" synchronized="false"
static="true" final="false" visibility="public"
deprecated="not deprecated">
</method>
<method name="use" return="org.apache.hadoop.fs.Path"
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"/>
<param name="resourceKey" type="java.lang.String"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<doc>
<![CDATA[<p>
The method to claim a resource with the <code>SharedCacheManager.</code>
The client uses a checksum to identify the resource and an
{@link ApplicationId} to identify which application will be using the
resource.
</p>
<p>
The <code>SharedCacheManager</code> responds with whether or not the
resource exists in the cache. If the resource exists, a <code>Path</code>
to the resource in the shared cache is returned. If the resource does not
exist, null is returned instead.
</p>
@param applicationId ApplicationId of the application using the resource
@param resourceKey the key (i.e. checksum) that identifies the resource
@return Path to the resource, or null if it does not exist]]>
</doc>
</method>
<method name="release"
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"/>
<param name="resourceKey" type="java.lang.String"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<doc>
<![CDATA[<p>
The method to release a resource with the <code>SharedCacheManager.</code>
This method is called once an application is no longer using a claimed
resource in the shared cache. The client uses a checksum to identify the
resource and an {@link ApplicationId} to identify which application is
releasing the resource.
</p>
<p>
Note: This method is an optimization and the client is not required to call
it for correctness.
</p>
@param applicationId ApplicationId of the application releasing the
resource
@param resourceKey the key (i.e. checksum) that identifies the resource]]>
</doc>
</method>
<method name="getFileChecksum" return="java.lang.String"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="sourceFile" type="org.apache.hadoop.fs.Path"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[A convenience method to calculate the checksum of a specified file.
@param sourceFile A path to the input file
@return A hex string containing the checksum digest
@throws IOException]]>
</doc>
</method>
<doc>
<![CDATA[This is the client for YARN's shared cache.]]>
</doc>
</class>
<!-- end class org.apache.hadoop.yarn.client.api.SharedCacheClient -->
<!-- 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="failApplicationAttempt"
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>
Fail an application attempt identified by given ID.
</p>
@param applicationAttemptId
{@link ApplicationAttemptId} of the attempt to fail.
@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="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="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"/>
<param name="diagnostics" type="java.lang.String"/>
<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
@param diagnostics for killing an application.
@throws YarnException in case of errors or if YARN rejects the request due
to access-control restrictions.
@throws IOException]]>
</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>
@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:
<ul>
<li>the requester is the owner of the ApplicationMaster</li>
<li>the application master is an unmanaged ApplicationMaster</li>
<li>the application master is in ACCEPTED state</li>
</ul>
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 set of application types you are interested in
@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 set of application states you are interested in
@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 set of application types you are interested in
@param applicationStates set of application states you are interested in
@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="queues" type="java.util.Set"/>
<param name="users" type="java.util.Set"/>
<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 users,
queues, application types and application states in the cluster. If any of
the params is set to null, it is not used when filtering.
</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 queues set of queues you are interested in
@param users set of users you are interested in
@param applicationTypes set of application types you are interested in
@param applicationStates set of application states you are interested in
@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 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 application id of the app
@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 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 application attempt id
@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="createReservation" return="org.apache.hadoop.yarn.api.protocolrecords.GetNewReservationResponse"
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 GetNewReservationResponse} for a new reservation,
which contains the {@link ReservationId} object.
</p>
@return The {@link GetNewReservationResponse} containing a new
{@link ReservationId} object.
@throws YarnException if reservation cannot be created.
@throws IOException if reservation cannot be created.]]>
</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="listReservations" return="org.apache.hadoop.yarn.api.protocolrecords.ReservationListResponse"
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.ReservationListRequest"/>
<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 get the list of reservations in a plan.
The reservationId will be used to search for reservations to list if it is
provided. Otherwise, it will select active reservations within the
startTime and endTime (inclusive).
</p>
@param request to list reservations in a plan. Contains fields to select
String queue, ReservationId reservationId, long startTime,
long endTime, and a bool includeReservationAllocations.
queue: Required. Cannot be null or empty. Refers to the
reservable queue in the scheduler that was selected when
creating a reservation submission
{@link ReservationSubmissionRequest}.
reservationId: Optional. If provided, other fields will
be ignored.
startTime: Optional. If provided, only reservations that
end after the startTime will be selected. This defaults
to 0 if an invalid number is used.
endTime: Optional. If provided, only reservations that
start on or before endTime will be selected. This defaults
to Long.MAX_VALUE if an invalid number is used.
includeReservationAllocations: Optional. Flag that
determines whether the entire reservation allocations are
to be returned. Reservation allocations are subject to
change in the event of re-planning as described by
{@link ReservationDefinition}.
@return response that contains information about reservations that are
being searched for.
@throws YarnException if the request is invalid
@throws IOException if the request failed otherwise]]>
</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="getLabelsToNodes" 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 labels to nodes mapping
in existing cluster
</p>
@return node to labels mappings
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getLabelsToNodes" return="java.util.Map"
abstract="true" native="false" synchronized="false"
static="false" final="false" visibility="public"
deprecated="not deprecated">
<param name="labels" type="java.util.Set"/>
<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 labels to nodes mapping
for specified labels in existing cluster
</p>
@param labels labels for which labels to nodes mapping has to be retrieved
@return labels to nodes mappings for specific labels
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="getClusterNodeLabels" 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>
The interface used by client to get node labels in the cluster
</p>
@return cluster node labels collection
@throws YarnException when there is a failure in
{@link ApplicationClientProtocol}
@throws IOException when there is a failure in
{@link ApplicationClientProtocol}]]>
</doc>
</method>
<method name="updateApplicationPriority" return="org.apache.hadoop.yarn.api.records.Priority"
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"/>
<param name="priority" type="org.apache.hadoop.yarn.api.records.Priority"/>
<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 set priority of an application
</p>
@param applicationId
@param priority
@return updated priority of an application.
@throws YarnException
@throws IOException]]>
</doc>
</method>
<method name="signalToContainer"
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="command" type="org.apache.hadoop.yarn.api.records.SignalContainerCommand"/>
<exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
<exception name="IOException" type="java.io.IOException"/>
<doc>
<![CDATA[<p>
Signal a container identified by given ID.
</p>
@param containerId
{@link ContainerId} of the container that needs to be signaled
@param command the signal container command
@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.AbstractCallbackHandler"
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.AbstractCallbackHandler"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<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.AbstractCallbackHandler"/>
<doc>
<![CDATA[<p>Create a new instance of AMRMClientAsync.</p>
@param intervalMs heartbeat interval in milliseconds between AM and RM
@param callbackHandler callback handler that processes responses from
the <code>ResourceManager</code>]]>
</doc>
</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.AbstractCallbackHandler"/>
<doc>
<![CDATA[<p>Create a new instance of AMRMClientAsync.</p>
@param client the AMRMClient instance
@param intervalMs heartbeat interval in milliseconds between AM and RM
@param callbackHandler callback handler that processes responses from
the <code>ResourceManager</code>]]>
</doc>
</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="Use {@link #createAMRMClientAsync(int,
AMRMClientAsync.AbstractCallbackHandler)} instead.">
<param name="intervalMs" type="int"/>
<param name="callbackHandler" type="org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler"/>
<doc>
<![CDATA[@deprecated Use {@link #createAMRMClientAsync(int,
AMRMClientAsync.AbstractCallbackHandler)} instead.]]>
</doc>
</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="Use {@link #createAMRMClientAsync(AMRMClient,
int, AMRMClientAsync.AbstractCallbackHandler)} instead.">
<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"/>
<doc>
<![CDATA[@deprecated Use {@link #createAMRMClientAsync(AMRMClient,
int, AMRMClientAsync.AbstractCallbackHandler)} instead.]]>
</doc>
</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="requestContainerResourceChange"
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="capability" type="org.apache.hadoop.yarn.api.records.Resource"/>
<doc>
<![CDATA[Request container resource change before calling <code>allocate</code>.
Any previous pending resource change request of the same container will be
removed.
Application that calls this method is expected to maintain the
<code>Container</code>s that are returned from previous successful
allocations or resource changes. By passing in the existing container and a
target resource capability to this method, the application requests the
ResourceManager to change the existing resource allocation to the target
resource allocation.
@param container The container returned from the last successful resource
allocation or resource change
@param capability The target resource capability of the container]]>
</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="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="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 extends AMRMClientAsync.AbstractCallbackHandler {
public void onContainersAllocated(List<Container> containers) {
[run tasks on the containers]
}
public void onContainersUpdated(List<Container> containers) {
[determine if resource allocation of containers have been increased in
the ResourceManager, and if so, inform the NodeManagers to increase the
resource monitor/enforcement 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 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.AbstractCallbackHandler"
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.AbstractCallbackHandler"
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.AbstractCallbackHandler"
static="false" final="false" visibility="protected"
deprecated="not deprecated">
</constructor>
<constructor name="NMClientAsync" type="org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler"
static="false" final="false" visibility="protected"
deprecated="Use {@link #NMClientAsync(AbstractCallbackHandler)}
instead.">
<doc>
<![CDATA[@deprecated Use {@link #NMClientAsync(AbstractCallbackHandler)}
instead.]]>
</doc>
</constructor>
<constructor name="NMClientAsync" type="java.lang.String, org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler"
static="false" final="false" visibility="protected"
deprecated="Use {@link #NMClientAsync(String, AbstractCallbackHandler)}
instead.">
<doc>
<![CDATA[@deprecated Use {@link #NMClientAsync(String, AbstractCallbackHandler)}
instead.]]>
</doc>
</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.AbstractCallbackHandler"/>
</method>
<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="Use {@link #createNMClientAsync(AbstractCallbackHandler)}
instead.">
<param name="callbackHandler" type="org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler"/>
<doc>
<![CDATA[@deprecated Use {@link #createNMClientAsync(AbstractCallbackHandler)}
instead.]]>
</doc>
</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="increaseContainerResourceAsync"
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"/>
</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 extends NMClientAsync.AbstractCallbackHandler {
public void onContainerStarted(ContainerId containerId,
Map<String, ByteBuffer> allServiceResponse) {
[post process after the container is started, process the response]
}
public void onContainerResourceIncreased(ContainerId containerId,
Resource resource) {
[post process after the container resource is increased]
}
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 -->
</package>
<package name="org.apache.hadoop.yarn.client.api.async.impl">
</package>
<package name="org.apache.hadoop.yarn.client.api.impl">
</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>
<field name="HELP_CMD" type="java.lang.String"
transient="false" volatile="false"
static="true" final="true" visibility="public"
deprecated="not deprecated">
</field>
</class>
<!-- end class org.apache.hadoop.yarn.client.cli.LogsCLI -->
</package>
</api>