| <?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> |