@InterfaceAudience.Public @InterfaceStability.Stable public abstract class YarnClient extends AbstractService
| Modifier | Constructor and Description | 
|---|---|
| protected  | YarnClient(String name) | 
| Modifier and Type | Method and Description | 
|---|---|
| abstract YarnClientApplication | createApplication()
 Obtain a  YarnClientApplicationfor a new application,
 which in turn contains theApplicationSubmissionContextandGetNewApplicationResponseobjects. | 
| abstract GetNewReservationResponse | createReservation()
 Obtain a  GetNewReservationResponsefor a new reservation,
 which contains theReservationIdobject. | 
| static YarnClient | createYarnClient()Create a new instance of YarnClient. | 
| abstract ReservationDeleteResponse | deleteReservation(ReservationDeleteRequest request)
 The interface used by clients to remove an existing Reservation. | 
| abstract void | failApplicationAttempt(ApplicationAttemptId applicationAttemptId)
 Fail an application attempt identified by given ID. | 
| abstract List<QueueInfo> | getAllQueues()
 Get information ( QueueInfo) about all queues, recursively if there
 is a hierarchy | 
| abstract Token<AMRMTokenIdentifier> | getAMRMToken(ApplicationId appId)Get the AMRM token of the application. | 
| abstract ApplicationAttemptReport | getApplicationAttemptReport(ApplicationAttemptId applicationAttemptId)
 Get a report of the given ApplicationAttempt. | 
| abstract List<ApplicationAttemptReport> | getApplicationAttempts(ApplicationId applicationId)
 Get a report of all (ApplicationAttempts) of Application in the cluster. | 
| abstract ApplicationReport | getApplicationReport(ApplicationId appId)
 Get a report of the given Application. | 
| abstract List<ApplicationReport> | getApplications()
 Get a report (ApplicationReport) of all Applications in the cluster. | 
| abstract List<ApplicationReport> | getApplications(EnumSet<YarnApplicationState> applicationStates)
 Get a report (ApplicationReport) of Applications matching the given
 application states in the cluster. | 
| List<ApplicationReport> | getApplications(GetApplicationsRequest request)
 Get a list of ApplicationReports that match the given
  GetApplicationsRequest. | 
| abstract List<ApplicationReport> | getApplications(Set<String> applicationTypes)
 Get a report (ApplicationReport) of Applications
 matching the given application types in the cluster. | 
| abstract List<ApplicationReport> | getApplications(Set<String> applicationTypes,
               EnumSet<YarnApplicationState> applicationStates)
 Get a report (ApplicationReport) of Applications matching the given
 application types and application states in the cluster. | 
| abstract List<ApplicationReport> | getApplications(Set<String> applicationTypes,
               EnumSet<YarnApplicationState> applicationStates,
               Set<String> applicationTags)
 Get a report (ApplicationReport) of Applications matching the given
 application types, application states and application tags in the cluster. | 
| abstract List<ApplicationReport> | getApplications(Set<String> queues,
               Set<String> users,
               Set<String> applicationTypes,
               EnumSet<YarnApplicationState> applicationStates)
 Get a report (ApplicationReport) of Applications matching the given users,
 queues, application types and application states in the cluster. | 
| abstract Map<NodeAttributeKey,List<NodeToAttributeValue>> | getAttributesToNodes(Set<NodeAttributeKey> attributes)
 The interface used by client to get mapping of AttributeKey to associated
 NodeToAttributeValue list for specified node attributeKeys in the cluster. | 
| abstract List<QueueInfo> | getChildQueueInfos(String parent)
 Get information ( QueueInfo) about all the immediate children queues
 of the given queue | 
| abstract Set<NodeAttributeInfo> | getClusterAttributes()
 The interface used by client to get node attributes in the cluster. | 
| abstract List<NodeLabel> | getClusterNodeLabels()
 The interface used by client to get node labels in the cluster | 
| abstract ContainerReport | getContainerReport(ContainerId containerId)
 Get a report of the given Container. | 
| abstract List<ContainerReport> | getContainers(ApplicationAttemptId applicationAttemptId)
 Get a report of all (Containers) of ApplicationAttempt in the cluster. | 
| abstract Map<String,Set<NodeId>> | getLabelsToNodes()
 The interface used by client to get labels to nodes mapping
 in existing cluster | 
| abstract Map<String,Set<NodeId>> | getLabelsToNodes(Set<String> labels)
 The interface used by client to get labels to nodes mapping
 for specified labels in existing cluster | 
| abstract List<NodeReport> | getNodeReports(NodeState... states)
 Get a report of nodes ( NodeReport) in the cluster. | 
| abstract Map<String,Set<NodeAttribute>> | getNodeToAttributes(Set<String> hostNames)
 The interface used by client to get all node to attribute mapping in
 existing cluster. | 
| abstract Map<NodeId,Set<String>> | getNodeToLabels()
 The interface used by client to get node to labels mappings in existing cluster | 
| abstract List<QueueUserACLInfo> | getQueueAclsInfo()
 Get information about acls for current user on all the
 existing queues. | 
| abstract QueueInfo | getQueueInfo(String queueName)
 Get information ( QueueInfo) about a given queue. | 
| abstract Resource | getResourceProfile(String profile)
 Get the details of a specific resource profile from the RM. | 
| abstract Map<String,Resource> | getResourceProfiles()
 Get the resource profiles available in the RM. | 
| abstract List<org.apache.hadoop.yarn.api.records.ResourceTypeInfo> | getResourceTypeInfo()
 Get available resource types supported by RM. | 
| abstract Token | getRMDelegationToken(Text renewer)
 Get a delegation token so as to be able to talk to YARN using those tokens. | 
| abstract List<QueueInfo> | getRootQueueInfos()
 Get information ( QueueInfo) about top level queues. | 
| abstract YarnClusterMetrics | getYarnClusterMetrics()
 Get metrics ( YarnClusterMetrics) about the cluster. | 
| abstract void | killApplication(ApplicationId applicationId)
 Kill an application identified by given ID. | 
| abstract void | killApplication(ApplicationId applicationId,
               String diagnostics)
 Kill an application identified by given ID. | 
| abstract ReservationListResponse | listReservations(ReservationListRequest request)
 The interface used by clients to get the list of reservations in a plan. | 
| abstract void | moveApplicationAcrossQueues(ApplicationId appId,
                           String queue)
 Attempts to move the given application to the given queue. | 
| abstract void | shellToContainer(ContainerId containerId,
                ShellContainerCommand command)
 The interface used by client to get a shell to a container. | 
| abstract void | signalToContainer(ContainerId containerId,
                 SignalContainerCommand command)
 Signal a container identified by given ID. | 
| abstract ApplicationId | submitApplication(ApplicationSubmissionContext appContext)
 Submit a new application to  YARN.It is a blocking call - it
 will not returnApplicationIduntil the submitted application is
 submitted successfully and accepted by the ResourceManager. | 
| abstract ReservationSubmissionResponse | submitReservation(ReservationSubmissionRequest request)
 The interface used by clients to submit a new reservation to the
  ResourceManager. | 
| abstract Priority | updateApplicationPriority(ApplicationId applicationId,
                         Priority priority)
 The interface used by client to set priority of an application | 
| UpdateApplicationTimeoutsResponse | updateApplicationTimeouts(UpdateApplicationTimeoutsRequest request) | 
| abstract ReservationUpdateResponse | updateReservation(ReservationUpdateRequest request)
 The interface used by clients to update an existing Reservation. | 
close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, serviceInit, serviceStart, serviceStop, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop@InterfaceAudience.Private protected YarnClient(String name)
@InterfaceAudience.Public public static YarnClient createYarnClient()
public abstract YarnClientApplication createApplication() throws YarnException, IOException
 Obtain a YarnClientApplication for a new application,
 which in turn contains the ApplicationSubmissionContext and
 GetNewApplicationResponse
 objects.
 
YarnClientApplication built for a new applicationYarnExceptionIOExceptionpublic abstract ApplicationId submitApplication(ApplicationSubmissionContext appContext) throws YarnException, IOException
 Submit a new application to YARN. It is a blocking call - it
 will not return ApplicationId until the submitted application is
 submitted successfully and accepted by the ResourceManager.
 
 Users should provide an ApplicationId as part of the parameter
 ApplicationSubmissionContext when submitting a new application,
 otherwise it will throw the ApplicationIdNotProvidedException.
 
This internally calls (SubmitApplicationRequest), and after that, it internally invokes
 (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,
 #getApplicationReport(GetApplicationReportRequest) will throw
 the ApplicationNotFoundException. This API automatically resubmits
 the application with the same ApplicationSubmissionContext when it
 catches the ApplicationNotFoundException
appContext - ApplicationSubmissionContext containing all the details
          needed to submit a new applicationApplicationId of the accepted applicationYarnExceptionIOExceptioncreateApplication()public abstract void failApplicationAttempt(ApplicationAttemptId applicationAttemptId) throws YarnException, IOException
Fail an application attempt identified by given ID.
applicationAttemptId - ApplicationAttemptId of the attempt to fail.YarnException - in case of errors or if YARN rejects the request due to
           access-control restrictions.IOExceptiongetQueueAclsInfo()public abstract void killApplication(ApplicationId applicationId) throws YarnException, IOException
Kill an application identified by given ID.
applicationId - ApplicationId of the application that needs to be killedYarnException - in case of errors or if YARN rejects the request due to
           access-control restrictions.IOExceptiongetQueueAclsInfo()public abstract void killApplication(ApplicationId applicationId, String diagnostics) throws YarnException, IOException
Kill an application identified by given ID.
applicationId - ApplicationId of the application that needs to
          be killeddiagnostics - for killing an application.YarnException - in case of errors or if YARN rejects the request due
           to access-control restrictions.IOExceptionpublic abstract ApplicationReport getApplicationReport(ApplicationId appId) throws YarnException, IOException
Get a report of the given Application.
 In secure mode, YARN verifies access to the application, queue
 etc. before accepting the request.
 
 If the user does not have VIEW_APP access then the following
 fields in the report will be set to stubbed values:
 
appId - ApplicationId of the application that needs a reportYarnExceptionIOExceptionpublic abstract Token<AMRMTokenIdentifier> getAMRMToken(ApplicationId appId) throws YarnException, IOException
 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 UserGroupInformation of the
 current user.
 
The AMRM token will be returned only if all the following conditions are met:
appId - ApplicationId of the application to get the AMRM tokenYarnExceptionIOExceptionpublic abstract List<ApplicationReport> getApplications() throws YarnException, IOException
Get a report (ApplicationReport) of all Applications in the cluster.
 If the user does not have VIEW_APP access for an application
 then the corresponding report will be filtered as described in
 getApplicationReport(ApplicationId).
 
YarnExceptionIOExceptionpublic abstract List<ApplicationReport> getApplications(Set<String> applicationTypes) throws YarnException, IOException
Get a report (ApplicationReport) of Applications matching the given application types in the cluster.
 If the user does not have VIEW_APP access for an application
 then the corresponding report will be filtered as described in
 getApplicationReport(ApplicationId).
 
applicationTypes - set of application types you are interested inYarnExceptionIOExceptionpublic abstract List<ApplicationReport> getApplications(EnumSet<YarnApplicationState> applicationStates) throws YarnException, IOException
Get a report (ApplicationReport) of Applications matching the given application states in the cluster.
 If the user does not have VIEW_APP access for an application
 then the corresponding report will be filtered as described in
 getApplicationReport(ApplicationId).
 
applicationStates - set of application states you are interested inYarnExceptionIOExceptionpublic abstract List<ApplicationReport> getApplications(Set<String> applicationTypes, EnumSet<YarnApplicationState> applicationStates) throws YarnException, IOException
Get a report (ApplicationReport) of Applications matching the given application types and application states in the cluster.
 If the user does not have VIEW_APP access for an application
 then the corresponding report will be filtered as described in
 getApplicationReport(ApplicationId).
 
applicationTypes - set of application types you are interested inapplicationStates - set of application states you are interested inYarnExceptionIOExceptionpublic abstract List<ApplicationReport> getApplications(Set<String> applicationTypes, EnumSet<YarnApplicationState> applicationStates, Set<String> applicationTags) throws YarnException, IOException
Get a report (ApplicationReport) of Applications matching the given application types, application states and application tags in the cluster.
 If the user does not have VIEW_APP access for an application
 then the corresponding report will be filtered as described in
 getApplicationReport(ApplicationId).
 
applicationTypes - set of application types you are interested inapplicationStates - set of application states you are interested inapplicationTags - set of application tags you are interested inYarnExceptionIOExceptionpublic abstract List<ApplicationReport> getApplications(Set<String> queues, Set<String> users, Set<String> applicationTypes, EnumSet<YarnApplicationState> applicationStates) throws YarnException, IOException
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.
 If the user does not have VIEW_APP access for an application
 then the corresponding report will be filtered as described in
 getApplicationReport(ApplicationId).
 
queues - set of queues you are interested inusers - set of users you are interested inapplicationTypes - set of application types you are interested inapplicationStates - set of application states you are interested inYarnExceptionIOExceptionpublic List<ApplicationReport> getApplications(GetApplicationsRequest request) throws YarnException, IOException
 Get a list of ApplicationReports that match the given
 GetApplicationsRequest.
 If the user does not have VIEW_APP access for an application
 then the corresponding report will be filtered as described in
 getApplicationReport(ApplicationId).
 
request - the request object to get the list of applications.YarnException - Exception specific to YARN.IOException - Exception mostly related to connection errors.public abstract YarnClusterMetrics getYarnClusterMetrics() throws YarnException, IOException
 Get metrics (YarnClusterMetrics) about the cluster.
 
YarnExceptionIOExceptionpublic abstract List<NodeReport> getNodeReports(NodeState... states) throws YarnException, IOException
 Get a report of nodes (NodeReport) in the cluster.
 
states - The NodeStates to filter on. If no filter states are
          given, nodes in all states will be returned.YarnExceptionIOExceptionpublic abstract Token getRMDelegationToken(Text renewer) throws YarnException, IOException
Get a delegation token so as to be able to talk to YARN using those tokens.
renewer - Address of the renewer who can renew these tokens when needed by
          securely talking to YARN.Token) that can be used to
         talk to YARNYarnExceptionIOExceptionpublic abstract QueueInfo getQueueInfo(String queueName) throws YarnException, IOException
 Get information (QueueInfo) about a given queue.
 
queueName - Name of the queue whose information is neededYarnException - in case of errors or if YARN rejects the request due to
           access-control restrictions.IOExceptionpublic abstract List<QueueInfo> getAllQueues() throws YarnException, IOException
 Get information (QueueInfo) about all queues, recursively if there
 is a hierarchy
 
YarnExceptionIOExceptionpublic abstract List<QueueInfo> getRootQueueInfos() throws YarnException, IOException
 Get information (QueueInfo) about top level queues.
 
YarnExceptionIOExceptionpublic abstract List<QueueInfo> getChildQueueInfos(String parent) throws YarnException, IOException
 Get information (QueueInfo) about all the immediate children queues
 of the given queue
 
parent - Name of the queue whose child-queues' information is neededYarnExceptionIOExceptionpublic abstract List<QueueUserACLInfo> getQueueAclsInfo() throws YarnException, IOException
Get information about acls for current user on all the existing queues.
QueueUserACLInfo) for
         current userYarnExceptionIOExceptionpublic abstract ApplicationAttemptReport getApplicationAttemptReport(ApplicationAttemptId applicationAttemptId) throws YarnException, IOException
Get a report of the given ApplicationAttempt.
 In secure mode, YARN verifies access to the application, queue
 etc. before accepting the request.
 
applicationAttemptId - ApplicationAttemptId of the application attempt that needs
          a reportYarnExceptionApplicationAttemptNotFoundException - if application attempt
         not foundIOExceptionpublic abstract List<ApplicationAttemptReport> getApplicationAttempts(ApplicationId applicationId) throws YarnException, IOException
Get a report of all (ApplicationAttempts) of Application in the cluster.
applicationId - application id of the appYarnExceptionIOExceptionpublic abstract ContainerReport getContainerReport(ContainerId containerId) throws YarnException, IOException
Get a report of the given Container.
 In secure mode, YARN verifies access to the application, queue
 etc. before accepting the request.
 
containerId - ContainerId of the container that needs a reportYarnExceptionContainerNotFoundException - if container not found.IOExceptionpublic abstract List<ContainerReport> getContainers(ApplicationAttemptId applicationAttemptId) throws YarnException, IOException
Get a report of all (Containers) of ApplicationAttempt in the cluster.
applicationAttemptId - application attempt idYarnExceptionIOExceptionpublic abstract void moveApplicationAcrossQueues(ApplicationId appId, String queue) throws YarnException, IOException
Attempts to move the given application to the given queue.
appId - Application to move.queue - Queue to place it in to.YarnExceptionIOExceptionpublic abstract GetNewReservationResponse createReservation() throws YarnException, IOException
 Obtain a GetNewReservationResponse for a new reservation,
 which contains the ReservationId object.
 
GetNewReservationResponse containing a new
         ReservationId object.YarnException - if reservation cannot be created.IOException - if reservation cannot be created.@InterfaceAudience.Public @InterfaceStability.Unstable public abstract ReservationSubmissionResponse submitReservation(ReservationSubmissionRequest request) throws YarnException, IOException
 The interface used by clients to submit a new reservation to the
 ResourceManager.
 
 The client packages all details of its request in a
 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.
 
 In order to respond, a new admission control component in the
 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., CapacityOverTimePolicy). Once it has positively determined
 that the ReservationRequest is satisfiable the ResourceManager
 answers with a ReservationSubmissionResponse that includes a
 ReservationId. Upon failure to find a valid allocation the response
 is an exception with the message detailing the reason of failure.
 
 The semantics guarantees that the 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
 ReservationDefinition
 
request - request to submit a new ReservationReservationId on accepting the
         submissionYarnException - if the reservation cannot be created successfullyIOException@InterfaceAudience.Public @InterfaceStability.Unstable public abstract ReservationUpdateResponse updateReservation(ReservationUpdateRequest request) throws YarnException, IOException
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.
 The allocation is attempted by virtually substituting all previous
 allocations related to this Reservation with new ones, that satisfy the new
 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.
 
request - to update an existing Reservation (the
          ReservationUpdateRequest should refer to an existing valid
          ReservationId)YarnException - if the request is invalid or reservation cannot be
           updated successfullyIOException@InterfaceAudience.Public @InterfaceStability.Unstable public abstract ReservationDeleteResponse deleteReservation(ReservationDeleteRequest request) throws YarnException, IOException
The interface used by clients to remove an existing Reservation.
request - to remove an existing Reservation (the
          ReservationDeleteRequest should refer to an existing valid
          ReservationId)YarnException - if the request is invalid or reservation cannot be
           deleted successfullyIOException@InterfaceAudience.Public @InterfaceStability.Unstable public abstract ReservationListResponse listReservations(ReservationListRequest request) throws YarnException, IOException
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).
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
                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
                ReservationDefinition.YarnException - if the request is invalidIOException - if the request failed otherwise@InterfaceAudience.Public @InterfaceStability.Unstable public abstract Map<NodeId,Set<String>> getNodeToLabels() throws YarnException, IOException
The interface used by client to get node to labels mappings in existing cluster
YarnExceptionIOException@InterfaceAudience.Public @InterfaceStability.Unstable public abstract Map<String,Set<NodeId>> getLabelsToNodes() throws YarnException, IOException
The interface used by client to get labels to nodes mapping in existing cluster
YarnExceptionIOException@InterfaceAudience.Public @InterfaceStability.Unstable public abstract Map<String,Set<NodeId>> getLabelsToNodes(Set<String> labels) throws YarnException, IOException
The interface used by client to get labels to nodes mapping for specified labels in existing cluster
labels - labels for which labels to nodes mapping has to be retrievedYarnExceptionIOException@InterfaceAudience.Public @InterfaceStability.Unstable public abstract List<NodeLabel> getClusterNodeLabels() throws YarnException, IOException
The interface used by client to get node labels in the cluster
YarnException - when there is a failure in
           ApplicationClientProtocolIOException - when there is a failure in
           ApplicationClientProtocol@InterfaceAudience.Public @InterfaceStability.Unstable public abstract Priority updateApplicationPriority(ApplicationId applicationId, Priority priority) throws YarnException, IOException
The interface used by client to set priority of an application
applicationId - priority - YarnExceptionIOExceptionpublic abstract void signalToContainer(ContainerId containerId, SignalContainerCommand command) throws YarnException, IOException
Signal a container identified by given ID.
containerId - ContainerId of the container that needs to be signaledcommand - the signal container commandYarnExceptionIOException@InterfaceAudience.Public @InterfaceStability.Unstable public UpdateApplicationTimeoutsResponse updateApplicationTimeouts(UpdateApplicationTimeoutsRequest request) throws YarnException, IOException
YarnExceptionIOException@InterfaceAudience.Public @InterfaceStability.Unstable public abstract Map<String,Resource> getResourceProfiles() throws YarnException, IOException
Get the resource profiles available in the RM.
YARNFeatureNotEnabledException - if resource-profile is disabledYarnException - if any error happens inside YARNIOException - in case of other errors@InterfaceAudience.Public @InterfaceStability.Unstable public abstract Resource getResourceProfile(String profile) throws YarnException, IOException
Get the details of a specific resource profile from the RM.
profile - the profile nameYARNFeatureNotEnabledException - if resource-profile is disabledYarnException - if any error happens inside YARNIOException - in case of other others@InterfaceAudience.Public @InterfaceStability.Unstable public abstract List<org.apache.hadoop.yarn.api.records.ResourceTypeInfo> getResourceTypeInfo() throws YarnException, IOException
Get available resource types supported by RM.
YarnException - if any issue happens inside YARNIOException - in case of other others@InterfaceAudience.Public @InterfaceStability.Unstable public abstract Set<NodeAttributeInfo> getClusterAttributes() throws YarnException, IOException
The interface used by client to get node attributes in the cluster.
YarnException - when there is a failure in
                       ApplicationClientProtocolIOException - when there is a failure in
                       ApplicationClientProtocol@InterfaceAudience.Public @InterfaceStability.Unstable public abstract Map<NodeAttributeKey,List<NodeToAttributeValue>> getAttributesToNodes(Set<NodeAttributeKey> attributes) throws YarnException, IOException
The interface used by client to get mapping of AttributeKey to associated NodeToAttributeValue list for specified node attributeKeys in the cluster.
attributes - AttributeKeys for which associated NodeToAttributeValue
          mapping value has to be retrieved. If empty or null is set then
          will return mapping for all attributeKeys in the clusterYarnExceptionIOException@InterfaceAudience.Public @InterfaceStability.Unstable public abstract Map<String,Set<NodeAttribute>> getNodeToAttributes(Set<String> hostNames) throws YarnException, IOException
The interface used by client to get all node to attribute mapping in existing cluster.
hostNames - HostNames for which host to attributes mapping has to
                  be retrived.If empty or null is set then will return
                  all nodes to attributes mapping in cluster.YarnExceptionIOException@InterfaceAudience.Public @InterfaceStability.Unstable public abstract void shellToContainer(ContainerId containerId, ShellContainerCommand command) throws IOException
The interface used by client to get a shell to a container.
containerId - Container IDcommand - Shell typeIOException - if connection fails.Copyright © 2023 Apache Software Foundation. All rights reserved.