public class RMWebServices extends org.apache.hadoop.yarn.server.webapp.WebServices implements RMWebServiceProtocol
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_ACTIVITIES_COUNT |
static String |
DEFAULT_END_TIME |
static String |
DEFAULT_INCLUDE_RESOURCE |
static String |
DEFAULT_QUEUE |
static String |
DEFAULT_RESERVATION_ID |
static String |
DEFAULT_START_TIME |
static String |
DEFAULT_SUMMARIZE |
static String |
DELEGATION_TOKEN_HEADER |
static int |
MAX_ACTIVITIES_COUNT |
Constructor and Description |
---|
RMWebServices(ResourceManager rm,
org.apache.hadoop.conf.Configuration conf) |
Modifier and Type | Method and Description |
---|---|
javax.ws.rs.core.Response |
addToClusterNodeLabels(NodeLabelsInfo newNodeLabels,
javax.servlet.http.HttpServletRequest hsr)
This method adds specific node labels for specific nodes, and it is
reachable by using
RMWSConsts.ADD_NODE_LABELS . |
javax.ws.rs.core.Response |
cancelDelegationToken(javax.servlet.http.HttpServletRequest hsr)
This method cancel the delegation token from the client, and it is
reachable by using
RMWSConsts.DELEGATION_TOKEN . |
RMQueueAclInfo |
checkUserAccessToQueue(String queue,
String username,
String queueAclType,
javax.servlet.http.HttpServletRequest hsr)
This method verifies if a user has access to a specified queue.
|
javax.ws.rs.core.Response |
createNewApplication(javax.servlet.http.HttpServletRequest hsr)
Generates a new ApplicationId which is then sent to the client.
|
javax.ws.rs.core.Response |
createNewReservation(javax.servlet.http.HttpServletRequest hsr)
Generates a new ReservationId which is then sent to the client.
|
javax.ws.rs.core.Response |
deleteReservation(ReservationDeleteRequestInfo resContext,
javax.servlet.http.HttpServletRequest hsr)
Function to delete a Reservation to the RM.
|
String |
dumpSchedulerLogs(String time,
javax.servlet.http.HttpServletRequest hsr)
This method dumps the scheduler logs for the time got in input, and it is
reachable by using
RMWSConsts.SCHEDULER_LOGS . |
static String |
escapeInvalidXMLCharacters(String str)
This method ensures that the output String has only
valid XML unicode characters as specified by the
XML 1.0 standard.
|
javax.ws.rs.core.Response |
formatSchedulerConfiguration(javax.servlet.http.HttpServletRequest hsr) |
ClusterInfo |
get()
This method retrieves the cluster information, and it is reachable by using
RMWSConsts.INFO . |
ActivitiesInfo |
getActivities(javax.servlet.http.HttpServletRequest hsr,
String nodeId,
String groupBy)
This method retrieve all the activities in a specific node, and it is
reachable by using
RMWSConsts.SCHEDULER_ACTIVITIES . |
AppInfo |
getApp(javax.servlet.http.HttpServletRequest hsr,
String appId,
Set<String> unselectedFields)
This method retrieves the report for a specific app, and it is reachable by
using
RMWSConsts.APPS_APPID . |
AppActivitiesInfo |
getAppActivities(javax.servlet.http.HttpServletRequest hsr,
String appId,
String time,
Set<String> requestPriorities,
Set<String> allocationRequestIds,
String groupBy,
String limit,
Set<String> actions,
boolean summarize)
This method retrieves all the activities for a specific app for a specific
period of time, and it is reachable by using
RMWSConsts.SCHEDULER_APP_ACTIVITIES . |
org.apache.hadoop.yarn.server.webapp.dao.AppAttemptInfo |
getAppAttempt(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res,
String appId,
String appAttemptId) |
AppAttemptsInfo |
getAppAttempts(javax.servlet.http.HttpServletRequest hsr,
String appId)
This method retrieves all the attempts information for a specific app, and
it is reachable by using
RMWSConsts.APPS_APPID_APPATTEMPTS . |
protected org.apache.hadoop.yarn.api.records.ApplicationAttemptReport |
getApplicationAttemptReport(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportRequest request) |
protected List<org.apache.hadoop.yarn.api.records.ApplicationAttemptReport> |
getApplicationAttemptsReport(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsRequest request) |
protected org.apache.hadoop.yarn.api.records.ApplicationReport |
getApplicationReport(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest request) |
protected List<org.apache.hadoop.yarn.api.records.ApplicationReport> |
getApplicationsReport(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest request) |
AppPriority |
getAppPriority(javax.servlet.http.HttpServletRequest hsr,
String appId)
This method retrieves the priority for a specific app, and it is reachable
by using
RMWSConsts.APPS_APPID_PRIORITY . |
AppQueue |
getAppQueue(javax.servlet.http.HttpServletRequest hsr,
String appId)
This method retrieves the queue for a specific app, and it is reachable by
using
RMWSConsts.APPS_APPID_QUEUE . |
AppsInfo |
getApps(javax.servlet.http.HttpServletRequest hsr,
String stateQuery,
Set<String> statesQuery,
String finalStatusQuery,
String userQuery,
String queueQuery,
String limit,
String startedBegin,
String startedEnd,
String finishBegin,
String finishEnd,
Set<String> applicationTypes,
Set<String> applicationTags,
String name,
Set<String> unselectedFields)
This method retrieves all the app reports in the cluster, and it is
reachable by using
RMWSConsts.APPS . |
org.apache.hadoop.yarn.util.LRUCache<org.apache.hadoop.yarn.util.AppsCacheKey,AppsInfo> |
getAppsLRUCache() |
AppState |
getAppState(javax.servlet.http.HttpServletRequest hsr,
String appId)
This method retrieves the state for a specific app, and it is reachable by
using
RMWSConsts.APPS_APPID_STATE . |
ApplicationStatisticsInfo |
getAppStatistics(javax.servlet.http.HttpServletRequest hsr,
Set<String> stateQueries,
Set<String> typeQueries)
This method retrieves all the statistics for a specific app, and it is
reachable by using
RMWSConsts.APP_STATISTICS . |
AppTimeoutInfo |
getAppTimeout(javax.servlet.http.HttpServletRequest hsr,
String appId,
String type)
This method retrieves the timeout information for a specific app with a
specific type, and it is reachable by using
RMWSConsts.APPS_TIMEOUTS_TYPE . |
AppTimeoutsInfo |
getAppTimeouts(javax.servlet.http.HttpServletRequest hsr,
String appId)
This method retrieves the timeout information for a specific app, and it is
reachable by using
RMWSConsts.APPS_TIMEOUTS . |
BulkActivitiesInfo |
getBulkActivities(javax.servlet.http.HttpServletRequest hsr,
String groupBy,
int activitiesCount)
This method retrieve the last n activities inside scheduler, and it is
reachable by using
RMWSConsts.SCHEDULER_BULK_ACTIVITIES . |
ClusterInfo |
getClusterInfo()
This method retrieves the cluster information, and it is reachable by using
RMWSConsts.INFO . |
ClusterMetricsInfo |
getClusterMetricsInfo()
This method retrieves the cluster metrics information, and it is reachable
by using
RMWSConsts.METRICS . |
NodeLabelsInfo |
getClusterNodeLabels(javax.servlet.http.HttpServletRequest hsr)
This method retrieves all the node labels in the cluster, and it is
reachable by using
RMWSConsts.GET_NODE_LABELS . |
ClusterUserInfo |
getClusterUserInfo(javax.servlet.http.HttpServletRequest hsr)
This method retrieves the cluster user information, and it is reachable by using
RMWSConsts.CLUSTER_USER_INFO . |
org.apache.hadoop.yarn.server.webapp.dao.ContainerInfo |
getContainer(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res,
String appId,
String appAttemptId,
String containerId) |
protected org.apache.hadoop.yarn.api.records.ContainerReport |
getContainerReport(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest request) |
org.apache.hadoop.yarn.server.webapp.dao.ContainersInfo |
getContainers(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res,
String appId,
String appAttemptId) |
protected List<org.apache.hadoop.yarn.api.records.ContainerReport> |
getContainersReport(org.apache.hadoop.yarn.api.protocolrecords.GetContainersRequest request) |
NodeLabelsInfo |
getLabelsOnNode(javax.servlet.http.HttpServletRequest hsr,
String nodeId)
This method retrieves all the node labels for specific node, and it is
reachable by using
RMWSConsts.NODES_NODEID_GETLABELS . |
LabelsToNodesInfo |
getLabelsToNodes(Set<String> labels)
This method retrieves all the node within multiple node labels in the
cluster, and it is reachable by using
RMWSConsts.LABEL_MAPPINGS . |
NodeInfo |
getNode(String nodeId)
This method retrieves a specific node information, and it is reachable by
using
RMWSConsts.NODES_NODEID . |
NodesInfo |
getNodes(String states)
This method retrieves all the nodes information in the cluster, and it is
reachable by using
RMWSConsts.NODES . |
NodeToLabelsInfo |
getNodeToLabels(javax.servlet.http.HttpServletRequest hsr)
This method retrieves all the node labels with the respective nodes in the
cluster, and it is reachable by using
RMWSConsts.GET_NODE_TO_LABELS . |
NodeLabelsInfo |
getRMNodeLabels(javax.servlet.http.HttpServletRequest hsr) |
javax.ws.rs.core.Response |
getSchedulerConfiguration(javax.servlet.http.HttpServletRequest hsr)
This method retrieves all the Scheduler configuration, and it is reachable
by using
RMWSConsts.SCHEDULER_CONF . |
javax.ws.rs.core.Response |
getSchedulerConfigurationVersion(javax.servlet.http.HttpServletRequest hsr) |
SchedulerTypeInfo |
getSchedulerInfo()
This method retrieves the current scheduler status, and it is reachable by
using
RMWSConsts.SCHEDULER . |
SchedulerOverviewInfo |
getSchedulerOverview() |
protected Boolean |
hasAccess(RMApp app,
javax.servlet.http.HttpServletRequest hsr) |
protected javax.ws.rs.core.Response |
killApp(RMApp app,
org.apache.hadoop.security.UserGroupInformation callerUGI,
javax.servlet.http.HttpServletRequest hsr,
String diagnostic) |
javax.ws.rs.core.Response |
listReservation(String queue,
String reservationId,
long startTime,
long endTime,
boolean includeResourceAllocations,
javax.servlet.http.HttpServletRequest hsr)
Function to retrieve a list of all the reservations.
|
protected javax.ws.rs.core.Response |
moveApp(RMApp app,
org.apache.hadoop.security.UserGroupInformation callerUGI,
String targetQueue) |
javax.ws.rs.core.Response |
postDelegationToken(DelegationToken tokenData,
javax.servlet.http.HttpServletRequest hsr)
This method posts a delegation token from the client, and it is reachable
by using
RMWSConsts.DELEGATION_TOKEN . |
javax.ws.rs.core.Response |
postDelegationTokenExpiration(javax.servlet.http.HttpServletRequest hsr)
This method updates the expiration for a delegation token from the client,
and it is reachable by using
RMWSConsts.DELEGATION_TOKEN_EXPIRATION . |
javax.ws.rs.core.Response |
removeFromClusterNodeLabels(Set<String> oldNodeLabels,
javax.servlet.http.HttpServletRequest hsr)
This method removes all the node labels for specific nodes, and it is
reachable by using
RMWSConsts.REMOVE_NODE_LABELS . |
javax.ws.rs.core.Response |
replaceLabelsOnNode(Set<String> newNodeLabelsName,
javax.servlet.http.HttpServletRequest hsr,
String nodeId)
This method replaces all the node labels for specific node, and it is
reachable by using
RMWSConsts.NODES_NODEID_REPLACE_LABELS . |
javax.ws.rs.core.Response |
replaceLabelsOnNodes(NodeToLabelsEntryList newNodeToLabels,
javax.servlet.http.HttpServletRequest hsr)
This method replaces all the node labels for specific nodes, and it is
reachable by using
RMWSConsts.REPLACE_NODE_TO_LABELS . |
javax.ws.rs.core.Response |
signalToContainer(String containerId,
String command,
javax.servlet.http.HttpServletRequest hsr)
This method sends a signal to container.
|
javax.ws.rs.core.Response |
submitApplication(ApplicationSubmissionContextInfo newApp,
javax.servlet.http.HttpServletRequest hsr)
Function to submit an app to the RM.
|
javax.ws.rs.core.Response |
submitReservation(ReservationSubmissionRequestInfo resContext,
javax.servlet.http.HttpServletRequest hsr)
Function to submit a Reservation to the RM.This method is reachable by
using
RMWSConsts.RESERVATION_SUBMIT . |
javax.ws.rs.core.Response |
updateApplicationPriority(AppPriority targetPriority,
javax.servlet.http.HttpServletRequest hsr,
String appId)
This method updates the priority for a specific application, and it is
reachable by using
RMWSConsts.APPS_APPID_PRIORITY . |
javax.ws.rs.core.Response |
updateApplicationTimeout(AppTimeoutInfo appTimeout,
javax.servlet.http.HttpServletRequest hsr,
String appId)
This method updates the timeout information for a specific app, and it is
reachable by using
RMWSConsts.APPS_TIMEOUT . |
javax.ws.rs.core.Response |
updateAppQueue(AppQueue targetQueue,
javax.servlet.http.HttpServletRequest hsr,
String appId)
This method updates the queue for a specific application, and it is
reachable by using
RMWSConsts.APPS_APPID_QUEUE . |
javax.ws.rs.core.Response |
updateAppState(AppState targetState,
javax.servlet.http.HttpServletRequest hsr,
String appId)
This method updates the state of the app in input, and it is reachable by
using
RMWSConsts.APPS_APPID_STATE . |
ResourceInfo |
updateNodeResource(javax.servlet.http.HttpServletRequest hsr,
String nodeId,
ResourceOptionInfo resourceOption)
This method changes the resources of a specific node, and it is reachable
by using
RMWSConsts.NODE_RESOURCE . |
javax.ws.rs.core.Response |
updateReservation(ReservationUpdateRequestInfo resContext,
javax.servlet.http.HttpServletRequest hsr)
Function to update a Reservation to the RM.
|
javax.ws.rs.core.Response |
updateSchedulerConfiguration(org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo mutationInfo,
javax.servlet.http.HttpServletRequest hsr)
This method updates the Scheduler configuration, and it is reachable by
using
RMWSConsts.SCHEDULER_CONF . |
javax.ws.rs.core.Response |
validateAndGetSchedulerConfiguration(org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo mutationInfo,
javax.servlet.http.HttpServletRequest hsr) |
public static final String DEFAULT_QUEUE
public static final String DEFAULT_RESERVATION_ID
public static final String DEFAULT_START_TIME
public static final String DEFAULT_END_TIME
public static final String DEFAULT_INCLUDE_RESOURCE
public static final String DEFAULT_SUMMARIZE
public static final String DEFAULT_ACTIVITIES_COUNT
public static final int MAX_ACTIVITIES_COUNT
public static final String DELEGATION_TOKEN_HEADER
@Inject public RMWebServices(ResourceManager rm, org.apache.hadoop.conf.Configuration conf)
public ClusterInfo get()
RMWebServiceProtocol
RMWSConsts.INFO
.get
in interface RMWebServiceProtocol
public ClusterInfo getClusterInfo()
RMWebServiceProtocol
RMWSConsts.INFO
.getClusterInfo
in interface RMWebServiceProtocol
public ClusterUserInfo getClusterUserInfo(@Context javax.servlet.http.HttpServletRequest hsr)
RMWebServiceProtocol
RMWSConsts.CLUSTER_USER_INFO
.getClusterUserInfo
in interface RMWebServiceProtocol
hsr
- the servlet requestpublic ClusterMetricsInfo getClusterMetricsInfo()
RMWebServiceProtocol
RMWSConsts.METRICS
.getClusterMetricsInfo
in interface RMWebServiceProtocol
ApplicationClientProtocol.getClusterMetrics(org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsRequest)
public SchedulerTypeInfo getSchedulerInfo()
RMWebServiceProtocol
RMWSConsts.SCHEDULER
.getSchedulerInfo
in interface RMWebServiceProtocol
public String dumpSchedulerLogs(String time, @Context javax.servlet.http.HttpServletRequest hsr) throws IOException
RMWebServiceProtocol
RMWSConsts.SCHEDULER_LOGS
.dumpSchedulerLogs
in interface RMWebServiceProtocol
time
- the period of time. It is a FormParam.hsr
- the servlet requestIOException
- when it cannot create dump log filepublic NodesInfo getNodes(String states)
RMWebServiceProtocol
RMWSConsts.NODES
.getNodes
in interface RMWebServiceProtocol
states
- the states we want to filter. It is a QueryParam.ApplicationClientProtocol.getClusterNodes(org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesRequest)
public NodeInfo getNode(String nodeId)
RMWebServiceProtocol
RMWSConsts.NODES_NODEID
.getNode
in interface RMWebServiceProtocol
nodeId
- the node we want to retrieve the information. It is a
PathParam.public ResourceInfo updateNodeResource(@Context javax.servlet.http.HttpServletRequest hsr, String nodeId, ResourceOptionInfo resourceOption) throws org.apache.hadoop.security.authorize.AuthorizationException
RMWebServiceProtocol
RMWSConsts.NODE_RESOURCE
.updateNodeResource
in interface RMWebServiceProtocol
hsr
- The servlet request.nodeId
- The node we want to retrieve the information for.
It is a PathParam.resourceOption
- The resource change.org.apache.hadoop.security.authorize.AuthorizationException
- If the user is not authorized.public static String escapeInvalidXMLCharacters(String str)
str
- The String whose invalid xml characters we want to escape.public AppsInfo getApps(@Context javax.servlet.http.HttpServletRequest hsr, String stateQuery, Set<String> statesQuery, String finalStatusQuery, String userQuery, String queueQuery, String limit, String startedBegin, String startedEnd, String finishBegin, String finishEnd, Set<String> applicationTypes, Set<String> applicationTags, String name, Set<String> unselectedFields)
RMWebServiceProtocol
RMWSConsts.APPS
.getApps
in interface RMWebServiceProtocol
hsr
- the servlet requeststateQuery
- right now the stateQuery is deprecated. It is a
QueryParam.statesQuery
- filter the result by states. It is a QueryParam.finalStatusQuery
- filter the result by final states. It is a
QueryParam.userQuery
- filter the result by user. It is a QueryParam.queueQuery
- filter the result by queue. It is a QueryParam.limit
- set a limit of the result. It is a QueryParam.startedBegin
- filter the result by started begin time. It is a
QueryParam.startedEnd
- filter the result by started end time. It is a
QueryParam.finishBegin
- filter the result by finish begin time. It is a
QueryParam.finishEnd
- filter the result by finish end time. It is a QueryParam.applicationTypes
- filter the result by types. It is a QueryParam.applicationTags
- filter the result by tags. It is a QueryParam.name
- filter the name of the application. It is a QueryParam.unselectedFields
- De-selected params to avoid from report. It is a
QueryParam.ApplicationBaseProtocol.getApplications(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest)
public ActivitiesInfo getActivities(@Context javax.servlet.http.HttpServletRequest hsr, String nodeId, String groupBy)
RMWebServiceProtocol
RMWSConsts.SCHEDULER_ACTIVITIES
.getActivities
in interface RMWebServiceProtocol
hsr
- the servlet requestnodeId
- the node we want to retrieve the activities. It is a
QueryParam.groupBy
- the groupBy type by which the activities should be
aggregated. It is a QueryParam.public BulkActivitiesInfo getBulkActivities(@Context javax.servlet.http.HttpServletRequest hsr, String groupBy, int activitiesCount) throws InterruptedException
RMWebServiceProtocol
RMWSConsts.SCHEDULER_BULK_ACTIVITIES
.getBulkActivities
in interface RMWebServiceProtocol
hsr
- the servlet requestgroupBy
- the groupBy type by which the activities should be
aggregated. It is a QueryParam.activitiesCount
- number of activitiesInterruptedException
- if interrupted.public AppActivitiesInfo getAppActivities(@Context javax.servlet.http.HttpServletRequest hsr, String appId, String time, Set<String> requestPriorities, Set<String> allocationRequestIds, String groupBy, String limit, Set<String> actions, boolean summarize)
RMWebServiceProtocol
RMWSConsts.SCHEDULER_APP_ACTIVITIES
.getAppActivities
in interface RMWebServiceProtocol
hsr
- the servlet requestappId
- the applicationId we want to retrieve the activities. It is a
QueryParam.time
- for how long we want to retrieve the activities. It is a
QueryParam.requestPriorities
- the request priorities we want to retrieve the
activities. It is a QueryParam.allocationRequestIds
- the allocation request ids we want to retrieve
the activities. It is a QueryParam.groupBy
- the groupBy type by which the activities should be
aggregated. It is a QueryParam.limit
- set a limit of the result. It is a QueryParam.actions
- the required actions of app activities. It is a QueryParam.summarize
- whether app activities in multiple scheduling processes
need to be summarized. It is a QueryParam.public ApplicationStatisticsInfo getAppStatistics(@Context javax.servlet.http.HttpServletRequest hsr, Set<String> stateQueries, Set<String> typeQueries)
RMWebServiceProtocol
RMWSConsts.APP_STATISTICS
.getAppStatistics
in interface RMWebServiceProtocol
hsr
- the servlet requeststateQueries
- filter the result by states. It is a QueryParam.typeQueries
- filter the result by type names. It is a QueryParam.public AppInfo getApp(@Context javax.servlet.http.HttpServletRequest hsr, String appId, Set<String> unselectedFields)
RMWebServiceProtocol
RMWSConsts.APPS_APPID
.getApp
in interface RMWebServiceProtocol
hsr
- the servlet requestappId
- the Id of the application we want the report. It is a
PathParam.unselectedFields
- De-selected param list to avoid from report. It is
a QueryParam.ApplicationBaseProtocol.getApplicationReport(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest)
public AppAttemptsInfo getAppAttempts(@Context javax.servlet.http.HttpServletRequest hsr, String appId)
RMWebServiceProtocol
RMWSConsts.APPS_APPID_APPATTEMPTS
.getAppAttempts
in interface RMWebServiceProtocol
hsr
- the servlet requestappId
- the application we want to get the attempts. It is a
PathParam.ApplicationBaseProtocol.getApplicationAttempts(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsRequest)
public org.apache.hadoop.yarn.server.webapp.dao.AppAttemptInfo getAppAttempt(@Context javax.servlet.http.HttpServletRequest req, @Context javax.servlet.http.HttpServletResponse res, String appId, String appAttemptId)
getAppAttempt
in class org.apache.hadoop.yarn.server.webapp.WebServices
public org.apache.hadoop.yarn.server.webapp.dao.ContainersInfo getContainers(@Context javax.servlet.http.HttpServletRequest req, @Context javax.servlet.http.HttpServletResponse res, String appId, String appAttemptId)
getContainers
in class org.apache.hadoop.yarn.server.webapp.WebServices
public org.apache.hadoop.yarn.server.webapp.dao.ContainerInfo getContainer(@Context javax.servlet.http.HttpServletRequest req, @Context javax.servlet.http.HttpServletResponse res, String appId, String appAttemptId, String containerId)
getContainer
in class org.apache.hadoop.yarn.server.webapp.WebServices
public AppState getAppState(@Context javax.servlet.http.HttpServletRequest hsr, String appId) throws org.apache.hadoop.security.authorize.AuthorizationException
RMWebServiceProtocol
RMWSConsts.APPS_APPID_STATE
.getAppState
in interface RMWebServiceProtocol
hsr
- the servlet requestappId
- the Id of the application we want the state. It is a
PathParam.org.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorizedpublic javax.ws.rs.core.Response updateAppState(AppState targetState, @Context javax.servlet.http.HttpServletRequest hsr, String appId) throws org.apache.hadoop.security.authorize.AuthorizationException, org.apache.hadoop.yarn.exceptions.YarnException, InterruptedException, IOException
RMWebServiceProtocol
RMWSConsts.APPS_APPID_STATE
.updateAppState
in interface RMWebServiceProtocol
targetState
- the target state for the app. It is a content param.hsr
- the servlet requestappId
- the Id of the application we want to update the state. It is a
PathParam.org.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
methodorg.apache.hadoop.yarn.exceptions.YarnException
- if app does not existInterruptedException
- if interruptedIOException
- if doAs action throws an IOExceptionpublic NodeToLabelsInfo getNodeToLabels(@Context javax.servlet.http.HttpServletRequest hsr) throws IOException
RMWebServiceProtocol
RMWSConsts.GET_NODE_TO_LABELS
.getNodeToLabels
in interface RMWebServiceProtocol
hsr
- the servlet requestIOException
- if an IOException happenedApplicationClientProtocol.getNodeToLabels(org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsRequest)
public LabelsToNodesInfo getLabelsToNodes(Set<String> labels) throws IOException
RMWebServiceProtocol
RMWSConsts.LABEL_MAPPINGS
.getLabelsToNodes
in interface RMWebServiceProtocol
labels
- filter the result by node labels. It is a QueryParam.IOException
- if an IOException happenedApplicationClientProtocol.getLabelsToNodes(org.apache.hadoop.yarn.api.protocolrecords.GetLabelsToNodesRequest)
public javax.ws.rs.core.Response replaceLabelsOnNodes(NodeToLabelsEntryList newNodeToLabels, @Context javax.servlet.http.HttpServletRequest hsr) throws IOException
RMWebServiceProtocol
RMWSConsts.REPLACE_NODE_TO_LABELS
.replaceLabelsOnNodes
in interface RMWebServiceProtocol
newNodeToLabels
- the list of new labels. It is a content param.hsr
- the servlet requestIOException
ResourceManagerAdministrationProtocol.replaceLabelsOnNode(org.apache.hadoop.yarn.server.api.protocolrecords.ReplaceLabelsOnNodeRequest)
public javax.ws.rs.core.Response replaceLabelsOnNode(Set<String> newNodeLabelsName, @Context javax.servlet.http.HttpServletRequest hsr, String nodeId) throws Exception
RMWebServiceProtocol
RMWSConsts.NODES_NODEID_REPLACE_LABELS
.replaceLabelsOnNode
in interface RMWebServiceProtocol
newNodeLabelsName
- the list of new labels. It is a QueryParam.hsr
- the servlet requestnodeId
- the node we want to replace the node labels. It is a
PathParam.Exception
- if an exception happenedResourceManagerAdministrationProtocol.replaceLabelsOnNode(org.apache.hadoop.yarn.server.api.protocolrecords.ReplaceLabelsOnNodeRequest)
public NodeLabelsInfo getClusterNodeLabels(@Context javax.servlet.http.HttpServletRequest hsr) throws IOException
RMWebServiceProtocol
RMWSConsts.GET_NODE_LABELS
.getClusterNodeLabels
in interface RMWebServiceProtocol
hsr
- the servlet requestIOException
- if an IOException happenedApplicationClientProtocol.getClusterNodeLabels(org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodeLabelsRequest)
public NodeLabelsInfo getRMNodeLabels(@Context javax.servlet.http.HttpServletRequest hsr) throws IOException
getRMNodeLabels
in interface RMWebServiceProtocol
IOException
public javax.ws.rs.core.Response addToClusterNodeLabels(NodeLabelsInfo newNodeLabels, @Context javax.servlet.http.HttpServletRequest hsr) throws Exception
RMWebServiceProtocol
RMWSConsts.ADD_NODE_LABELS
.addToClusterNodeLabels
in interface RMWebServiceProtocol
newNodeLabels
- the node labels to add. It is a content param.hsr
- the servlet requestException
- in case of bad requestResourceManagerAdministrationProtocol.addToClusterNodeLabels(org.apache.hadoop.yarn.server.api.protocolrecords.AddToClusterNodeLabelsRequest)
public javax.ws.rs.core.Response removeFromClusterNodeLabels(Set<String> oldNodeLabels, @Context javax.servlet.http.HttpServletRequest hsr) throws Exception
RMWebServiceProtocol
RMWSConsts.REMOVE_NODE_LABELS
.removeFromClusterNodeLabels
in interface RMWebServiceProtocol
oldNodeLabels
- the node labels to remove. It is a QueryParam.hsr
- the servlet requestException
- in case of bad requestResourceManagerAdministrationProtocol.removeFromClusterNodeLabels(org.apache.hadoop.yarn.server.api.protocolrecords.RemoveFromClusterNodeLabelsRequest)
public NodeLabelsInfo getLabelsOnNode(@Context javax.servlet.http.HttpServletRequest hsr, String nodeId) throws IOException
RMWebServiceProtocol
RMWSConsts.NODES_NODEID_GETLABELS
.getLabelsOnNode
in interface RMWebServiceProtocol
hsr
- the servlet requestnodeId
- the node we want to get all the node labels. It is a
PathParam.IOException
- if an IOException happenedprotected javax.ws.rs.core.Response killApp(RMApp app, org.apache.hadoop.security.UserGroupInformation callerUGI, javax.servlet.http.HttpServletRequest hsr, String diagnostic) throws IOException, InterruptedException
IOException
InterruptedException
public AppPriority getAppPriority(@Context javax.servlet.http.HttpServletRequest hsr, String appId) throws org.apache.hadoop.security.authorize.AuthorizationException
RMWebServiceProtocol
RMWSConsts.APPS_APPID_PRIORITY
.getAppPriority
in interface RMWebServiceProtocol
hsr
- the servlet requestappId
- the app we want to get the priority. It is a PathParam.org.apache.hadoop.security.authorize.AuthorizationException
- in case of the user is not authorizedpublic javax.ws.rs.core.Response updateApplicationPriority(AppPriority targetPriority, @Context javax.servlet.http.HttpServletRequest hsr, String appId) throws org.apache.hadoop.security.authorize.AuthorizationException, org.apache.hadoop.yarn.exceptions.YarnException, InterruptedException, IOException
RMWebServiceProtocol
RMWSConsts.APPS_APPID_PRIORITY
.updateApplicationPriority
in interface RMWebServiceProtocol
targetPriority
- the priority we want to set for the app. It is a
content param.hsr
- the servlet requestappId
- the application we want to update its priority. It is a
PathParam.org.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authenticatedorg.apache.hadoop.yarn.exceptions.YarnException
- if the target is nullInterruptedException
- if interrupted.IOException
- if the update fails.public AppQueue getAppQueue(@Context javax.servlet.http.HttpServletRequest hsr, String appId) throws org.apache.hadoop.security.authorize.AuthorizationException
RMWebServiceProtocol
RMWSConsts.APPS_APPID_QUEUE
.getAppQueue
in interface RMWebServiceProtocol
hsr
- the servlet requestappId
- the application we want to retrieve its queue. It is a
PathParam.org.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authenticatedpublic javax.ws.rs.core.Response updateAppQueue(AppQueue targetQueue, @Context javax.servlet.http.HttpServletRequest hsr, String appId) throws org.apache.hadoop.security.authorize.AuthorizationException, org.apache.hadoop.yarn.exceptions.YarnException, InterruptedException, IOException
RMWebServiceProtocol
RMWSConsts.APPS_APPID_QUEUE
.updateAppQueue
in interface RMWebServiceProtocol
targetQueue
- the queue we want to set. It is a content param.hsr
- the servlet requestappId
- the application we want to change its queue. It is a
PathParam.org.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authenticatedorg.apache.hadoop.yarn.exceptions.YarnException
- if the app is not foundInterruptedException
- if interrupted.IOException
- if the update fails.protected javax.ws.rs.core.Response moveApp(RMApp app, org.apache.hadoop.security.UserGroupInformation callerUGI, String targetQueue) throws IOException, InterruptedException
IOException
InterruptedException
public javax.ws.rs.core.Response createNewApplication(@Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException, IOException, InterruptedException
RMWebServiceProtocol
RMWSConsts.APPS_NEW_APPLICATION
.createNewApplication
in interface RMWebServiceProtocol
hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
methodIOException
- if the creation failsInterruptedException
- if interruptedApplicationClientProtocol.getNewApplication(org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationRequest)
public javax.ws.rs.core.Response submitApplication(ApplicationSubmissionContextInfo newApp, @Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException, IOException, InterruptedException
RMWebServiceProtocol
RMWSConsts.APPS
.submitApplication
in interface RMWebServiceProtocol
newApp
- structure containing information to construct the
ApplicationSubmissionContext. It is a content param.hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
methodIOException
- if the submission failedInterruptedException
- if interruptedApplicationClientProtocol.submitApplication(org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationRequest)
public javax.ws.rs.core.Response postDelegationToken(DelegationToken tokenData, @Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException, IOException, InterruptedException, Exception
RMWebServiceProtocol
RMWSConsts.DELEGATION_TOKEN
.postDelegationToken
in interface RMWebServiceProtocol
tokenData
- the token to delegate. It is a content param.hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- if Kerberos auth failedIOException
- if the delegation failedInterruptedException
- if interruptedException
- in case of bad requestApplicationBaseProtocol.getDelegationToken(org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenRequest)
public javax.ws.rs.core.Response postDelegationTokenExpiration(@Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException, IOException, InterruptedException, Exception
RMWebServiceProtocol
RMWSConsts.DELEGATION_TOKEN_EXPIRATION
.postDelegationTokenExpiration
in interface RMWebServiceProtocol
hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- if Kerberos auth failedIOException
- if the delegation failedException
- in case of bad requestInterruptedException
ApplicationBaseProtocol.renewDelegationToken(org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenRequest)
public javax.ws.rs.core.Response cancelDelegationToken(@Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException, IOException, InterruptedException, Exception
RMWebServiceProtocol
RMWSConsts.DELEGATION_TOKEN
.cancelDelegationToken
in interface RMWebServiceProtocol
hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- if Kerberos auth failedIOException
- if the delegation failedInterruptedException
- if interruptedException
- in case of bad requestApplicationBaseProtocol.cancelDelegationToken(org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenRequest)
public javax.ws.rs.core.Response createNewReservation(@Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException, IOException, InterruptedException
RMWebServiceProtocol
RMWSConsts.RESERVATION_NEW
.createNewReservation
in interface RMWebServiceProtocol
hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
method.IOException
- if creation failedInterruptedException
- if interruptedApplicationClientProtocol.getNewReservation(org.apache.hadoop.yarn.api.protocolrecords.GetNewReservationRequest)
public javax.ws.rs.core.Response submitReservation(ReservationSubmissionRequestInfo resContext, @Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException, IOException, InterruptedException
RMWebServiceProtocol
RMWSConsts.RESERVATION_SUBMIT
.submitReservation
in interface RMWebServiceProtocol
resContext
- provides information to construct the
ReservationSubmissionRequest. It is a content param.hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
methodIOException
- if creation failedInterruptedException
- if interruptedApplicationClientProtocol.submitReservation(org.apache.hadoop.yarn.api.protocolrecords.ReservationSubmissionRequest)
public javax.ws.rs.core.Response updateReservation(ReservationUpdateRequestInfo resContext, @Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException, IOException, InterruptedException
RMWebServiceProtocol
RMWSConsts.RESERVATION_UPDATE
.updateReservation
in interface RMWebServiceProtocol
resContext
- provides information to construct the
ReservationUpdateRequest. It is a content param.hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
methodIOException
- if the operation failedInterruptedException
- if interruptedApplicationClientProtocol.updateReservation(org.apache.hadoop.yarn.api.protocolrecords.ReservationUpdateRequest)
public javax.ws.rs.core.Response deleteReservation(ReservationDeleteRequestInfo resContext, @Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException, IOException, InterruptedException
RMWebServiceProtocol
RMWSConsts.RESERVATION_DELETE
.deleteReservation
in interface RMWebServiceProtocol
resContext
- provides information to construct the
ReservationDeleteRequest. It is a content param.hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- when the user group information cannot be
retrieved.IOException
- when a ReservationDeleteRequest
cannot be
created from the ReservationDeleteRequestInfo
. This
exception is also thrown on
ClientRMService.deleteReservation
invocation failure.InterruptedException
- if doAs action throws an InterruptedException.ApplicationClientProtocol.deleteReservation(org.apache.hadoop.yarn.api.protocolrecords.ReservationDeleteRequest)
public javax.ws.rs.core.Response listReservation(String queue, String reservationId, long startTime, long endTime, boolean includeResourceAllocations, @Context javax.servlet.http.HttpServletRequest hsr) throws Exception
RMWebServiceProtocol
RMWSConsts.RESERVATION_LIST
.listReservation
in interface RMWebServiceProtocol
queue
- filter the result by queue. It is a QueryParam.reservationId
- filter the result by reservationId. It is a
QueryParam.startTime
- filter the result by start time. It is a QueryParam.endTime
- filter the result by end time. It is a QueryParam.includeResourceAllocations
- true if the resource allocation should be
in the result, false otherwise. It is a QueryParam.hsr
- the servlet requestException
- in case of bad requestApplicationClientProtocol.listReservations(org.apache.hadoop.yarn.api.protocolrecords.ReservationListRequest)
public AppTimeoutInfo getAppTimeout(@Context javax.servlet.http.HttpServletRequest hsr, String appId, String type) throws org.apache.hadoop.security.authorize.AuthorizationException
RMWebServiceProtocol
RMWSConsts.APPS_TIMEOUTS_TYPE
.getAppTimeout
in interface RMWebServiceProtocol
hsr
- the servlet requestappId
- the application we want to get the timeout. It is a PathParam.type
- the type of the timeouts. It is a PathParam.org.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorizedpublic AppTimeoutsInfo getAppTimeouts(@Context javax.servlet.http.HttpServletRequest hsr, String appId) throws org.apache.hadoop.security.authorize.AuthorizationException
RMWebServiceProtocol
RMWSConsts.APPS_TIMEOUTS
.getAppTimeouts
in interface RMWebServiceProtocol
hsr
- the servlet requestappId
- the application we want to get the timeouts. It is a
PathParam.org.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorizedpublic javax.ws.rs.core.Response updateApplicationTimeout(AppTimeoutInfo appTimeout, @Context javax.servlet.http.HttpServletRequest hsr, String appId) throws org.apache.hadoop.security.authorize.AuthorizationException, org.apache.hadoop.yarn.exceptions.YarnException, InterruptedException, IOException
RMWebServiceProtocol
RMWSConsts.APPS_TIMEOUT
.updateApplicationTimeout
in interface RMWebServiceProtocol
appTimeout
- the appTimeoutInfo. It is a content param.hsr
- the servlet requestappId
- the application we want to update. It is a PathParam.org.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
methodorg.apache.hadoop.yarn.exceptions.YarnException
- in case of bad requestInterruptedException
- if interruptedIOException
- if the operation failedApplicationClientProtocol.updateApplicationTimeouts(org.apache.hadoop.yarn.api.protocolrecords.UpdateApplicationTimeoutsRequest)
protected org.apache.hadoop.yarn.api.records.ApplicationReport getApplicationReport(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest request) throws org.apache.hadoop.yarn.exceptions.YarnException, IOException
getApplicationReport
in class org.apache.hadoop.yarn.server.webapp.WebServices
org.apache.hadoop.yarn.exceptions.YarnException
IOException
protected List<org.apache.hadoop.yarn.api.records.ApplicationReport> getApplicationsReport(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest request) throws org.apache.hadoop.yarn.exceptions.YarnException, IOException
getApplicationsReport
in class org.apache.hadoop.yarn.server.webapp.WebServices
org.apache.hadoop.yarn.exceptions.YarnException
IOException
protected org.apache.hadoop.yarn.api.records.ApplicationAttemptReport getApplicationAttemptReport(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportRequest request) throws org.apache.hadoop.yarn.exceptions.YarnException, IOException
getApplicationAttemptReport
in class org.apache.hadoop.yarn.server.webapp.WebServices
org.apache.hadoop.yarn.exceptions.YarnException
IOException
protected List<org.apache.hadoop.yarn.api.records.ApplicationAttemptReport> getApplicationAttemptsReport(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsRequest request) throws org.apache.hadoop.yarn.exceptions.YarnException, IOException
getApplicationAttemptsReport
in class org.apache.hadoop.yarn.server.webapp.WebServices
org.apache.hadoop.yarn.exceptions.YarnException
IOException
protected org.apache.hadoop.yarn.api.records.ContainerReport getContainerReport(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest request) throws org.apache.hadoop.yarn.exceptions.YarnException, IOException
getContainerReport
in class org.apache.hadoop.yarn.server.webapp.WebServices
org.apache.hadoop.yarn.exceptions.YarnException
IOException
protected List<org.apache.hadoop.yarn.api.records.ContainerReport> getContainersReport(org.apache.hadoop.yarn.api.protocolrecords.GetContainersRequest request) throws org.apache.hadoop.yarn.exceptions.YarnException, IOException
getContainersReport
in class org.apache.hadoop.yarn.server.webapp.WebServices
org.apache.hadoop.yarn.exceptions.YarnException
IOException
public javax.ws.rs.core.Response formatSchedulerConfiguration(@Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException
org.apache.hadoop.security.authorize.AuthorizationException
public javax.ws.rs.core.Response validateAndGetSchedulerConfiguration(org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo mutationInfo, @Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException
org.apache.hadoop.security.authorize.AuthorizationException
public javax.ws.rs.core.Response updateSchedulerConfiguration(org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo mutationInfo, @Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException, InterruptedException
RMWebServiceProtocol
RMWSConsts.SCHEDULER_CONF
.updateSchedulerConfiguration
in interface RMWebServiceProtocol
mutationInfo
- th information for making scheduler configuration
changes (supports adding, removing, or updating a queue, as well
as global scheduler conf changes)hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
methodInterruptedException
- if interruptedpublic javax.ws.rs.core.Response getSchedulerConfiguration(@Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException
RMWebServiceProtocol
RMWSConsts.SCHEDULER_CONF
.getSchedulerConfiguration
in interface RMWebServiceProtocol
hsr
- the servlet requestorg.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
method.public javax.ws.rs.core.Response getSchedulerConfigurationVersion(@Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException
org.apache.hadoop.security.authorize.AuthorizationException
public RMQueueAclInfo checkUserAccessToQueue(String queue, String username, String queueAclType, @Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException
RMWebServiceProtocol
checkUserAccessToQueue
in interface RMWebServiceProtocol
queue
- queueusername
- userqueueAclType
- acl type of queue, it could be
SUBMIT_APPLICATIONS/ADMINISTER_QUEUEhsr
- requestorg.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
method.public javax.ws.rs.core.Response signalToContainer(String containerId, String command, @Context javax.servlet.http.HttpServletRequest hsr) throws org.apache.hadoop.security.authorize.AuthorizationException
RMWebServiceProtocol
signalToContainer
in interface RMWebServiceProtocol
containerId
- containerIdcommand
- signal command, it could be OUTPUT_THREAD_DUMP/
GRACEFUL_SHUTDOWN/FORCEFUL_SHUTDOWNhsr
- requestorg.apache.hadoop.security.authorize.AuthorizationException
- if the user is not authorized to invoke this
method.public SchedulerOverviewInfo getSchedulerOverview()
@VisibleForTesting public org.apache.hadoop.yarn.util.LRUCache<org.apache.hadoop.yarn.util.AppsCacheKey,AppsInfo> getAppsLRUCache()
Copyright © 2008–2024 Apache Software Foundation. All rights reserved.