org.apache.hadoop.yarn.api
Interface ClientRMProtocol


@InterfaceAudience.Public
@InterfaceStability.Stable
public interface ClientRMProtocol

The protocol between clients and the ResourceManager to submit/abort jobs and to get information on applications, cluster metrics, nodes, queues and ACLs.


Method Summary
 KillApplicationResponse forceKillApplication(KillApplicationRequest request)
          The interface used by clients to request the ResourceManager to abort submitted application.
 GetAllApplicationsResponse getAllApplications(GetAllApplicationsRequest request)
          The interface used by clients to get a report of all Applications in the cluster from the ResourceManager.
 GetApplicationReportResponse getApplicationReport(GetApplicationReportRequest request)
          The interface used by clients to get a report of an Application from the ResourceManager.
 GetClusterMetricsResponse getClusterMetrics(GetClusterMetricsRequest request)
          The interface used by clients to get metrics about the cluster from the ResourceManager.
 GetClusterNodesResponse getClusterNodes(GetClusterNodesRequest request)
          The interface used by clients to get a report of all nodes in the cluster from the ResourceManager.
 GetDelegationTokenResponse getDelegationToken(GetDelegationTokenRequest request)
          The interface used by clients to get delegation token, enabling the containers to be able to talk to the service using those tokens.
 GetNewApplicationResponse getNewApplication(GetNewApplicationRequest request)
          The interface used by clients to obtain a new ApplicationId for submitting new applications.
 GetQueueInfoResponse getQueueInfo(GetQueueInfoRequest request)
          The interface used by clients to get information about queues from the ResourceManager.
 GetQueueUserAclsInfoResponse getQueueUserAcls(GetQueueUserAclsInfoRequest request)
          The interface used by clients to get information about queue acls for current user from the ResourceManager.
 SubmitApplicationResponse submitApplication(SubmitApplicationRequest request)
          The interface used by clients to submit a new application to the ResourceManager.
 

Method Detail

getNewApplication

GetNewApplicationResponse getNewApplication(GetNewApplicationRequest request)
                                            throws org.apache.hadoop.yarn.exceptions.YarnRemoteException

The interface used by clients to obtain a new ApplicationId for submitting new applications.

The ResourceManager responds with a new, monotonically increasing, ApplicationId which is used by the client to submit a new application.

The ResourceManager also responds with details such as minimum and maximum resource capabilities in the cluster as specified in GetNewApplicationResponse.

Parameters:
request - request to get a new ApplicationId
Returns:
response containing the new ApplicationId to be used to submit an application
Throws:
org.apache.hadoop.yarn.exceptions.YarnRemoteException
See Also:
submitApplication(SubmitApplicationRequest)

submitApplication

SubmitApplicationResponse submitApplication(SubmitApplicationRequest request)
                                            throws org.apache.hadoop.yarn.exceptions.YarnRemoteException

The interface used by clients to submit a new application to the ResourceManager.

The client is required to provide details such as queue, Resource required to run the ApplicationMaster, the equivalent of ContainerLaunchContext for launching the ApplicationMaster etc. via the SubmitApplicationRequest.

Currently the ResourceManager sends an immediate (empty) SubmitApplicationResponse on accepting the submission and throws an exception if it rejects the submission.

In secure mode,the ResourceManager verifies access to queues etc. before accepting the application submission.

Parameters:
request - request to submit a new application
Returns:
(empty) response on accepting the submission
Throws:
org.apache.hadoop.yarn.exceptions.YarnRemoteException
See Also:
getNewApplication(GetNewApplicationRequest)

forceKillApplication

KillApplicationResponse forceKillApplication(KillApplicationRequest request)
                                             throws org.apache.hadoop.yarn.exceptions.YarnRemoteException

The interface used by clients to request the ResourceManager to abort submitted application.

The client, via KillApplicationRequest provides the ApplicationId of the application to be aborted.

In secure mode,the ResourceManager verifies access to the application, queue etc. before terminating the application.

Currently, the ResourceManager returns an empty response on success and throws an exception on rejecting the request.

Parameters:
request - request to abort a submited application
Returns:
ResourceManager returns an empty response on success and throws an exception on rejecting the request
Throws:
org.apache.hadoop.yarn.exceptions.YarnRemoteException
See Also:
getQueueUserAcls(GetQueueUserAclsInfoRequest)

getApplicationReport

GetApplicationReportResponse getApplicationReport(GetApplicationReportRequest request)
                                                  throws org.apache.hadoop.yarn.exceptions.YarnRemoteException

The interface used by clients to get a report of an Application from the ResourceManager.

The client, via GetApplicationReportRequest provides the ApplicationId of the application.

In secure mode,the ResourceManager verifies access to the application, queue etc. before accepting the request.

The ResourceManager responds with a GetApplicationReportResponse which includes the ApplicationReport for the application.

If the user does not have VIEW_APP access then the following fields in the report will be set to stubbed values:

Parameters:
request - request for an application report
Returns:
application report
Throws:
org.apache.hadoop.yarn.exceptions.YarnRemoteException

getClusterMetrics

GetClusterMetricsResponse getClusterMetrics(GetClusterMetricsRequest request)
                                            throws org.apache.hadoop.yarn.exceptions.YarnRemoteException

The interface used by clients to get metrics about the cluster from the ResourceManager.

The ResourceManager responds with a GetClusterMetricsResponse which includes the YarnClusterMetrics with details such as number of current nodes in the cluster.

Parameters:
request - request for cluster metrics
Returns:
cluster metrics
Throws:
org.apache.hadoop.yarn.exceptions.YarnRemoteException

getAllApplications

GetAllApplicationsResponse getAllApplications(GetAllApplicationsRequest request)
                                              throws org.apache.hadoop.yarn.exceptions.YarnRemoteException

The interface used by clients to get a report of all Applications in the cluster from the ResourceManager.

The ResourceManager responds with a GetAllApplicationsResponse which includes the ApplicationReport for all the applications.

If the user does not have VIEW_APP access for an application then the corresponding report will be filtered as described in getApplicationReport(GetApplicationReportRequest).

Parameters:
request - request for report on all running applications
Returns:
report on all running applications
Throws:
org.apache.hadoop.yarn.exceptions.YarnRemoteException

getClusterNodes

GetClusterNodesResponse getClusterNodes(GetClusterNodesRequest request)
                                        throws org.apache.hadoop.yarn.exceptions.YarnRemoteException

The interface used by clients to get a report of all nodes in the cluster from the ResourceManager.

The ResourceManager responds with a GetClusterNodesResponse which includes the NodeReport for all the nodes in the cluster.

Parameters:
request - request for report on all nodes
Returns:
report on all nodes
Throws:
org.apache.hadoop.yarn.exceptions.YarnRemoteException

getQueueInfo

GetQueueInfoResponse getQueueInfo(GetQueueInfoRequest request)
                                  throws org.apache.hadoop.yarn.exceptions.YarnRemoteException

The interface used by clients to get information about queues from the ResourceManager.

The client, via GetQueueInfoRequest, can ask for details such as used/total resources, child queues, running applications etc.

In secure mode,the ResourceManager verifies access before providing the information.

Parameters:
request - request to get queue information
Returns:
queue information
Throws:
org.apache.hadoop.yarn.exceptions.YarnRemoteException

getQueueUserAcls

GetQueueUserAclsInfoResponse getQueueUserAcls(GetQueueUserAclsInfoRequest request)
                                              throws org.apache.hadoop.yarn.exceptions.YarnRemoteException

The interface used by clients to get information about queue acls for current user from the ResourceManager.

The ResourceManager responds with queue acls for all existing queues.

Parameters:
request - request to get queue acls for current user
Returns:
queue acls for current user
Throws:
org.apache.hadoop.yarn.exceptions.YarnRemoteException

getDelegationToken

GetDelegationTokenResponse getDelegationToken(GetDelegationTokenRequest request)
                                              throws org.apache.hadoop.yarn.exceptions.YarnRemoteException

The interface used by clients to get delegation token, enabling the containers to be able to talk to the service using those tokens.

The ResourceManager responds with the delegation token DelegationToken that can be used by the client to speak to this service.

Parameters:
request - request to get a delegation token for the client.
Returns:
delegation token that can be used to talk to this service
Throws:
org.apache.hadoop.yarn.exceptions.YarnRemoteException


Copyright © 2013 Apache Software Foundation. All Rights Reserved.