public class RMAppImpl extends Object implements RMApp, Recoverable
Constructor and Description |
---|
RMAppImpl(org.apache.hadoop.yarn.api.records.ApplicationId applicationId,
RMContext rmContext,
org.apache.hadoop.conf.Configuration config,
String name,
String user,
String queue,
org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext submissionContext,
YarnScheduler scheduler,
ApplicationMasterService masterService,
long submitTime,
String applicationType,
Set<String> applicationTags,
org.apache.hadoop.yarn.api.records.ResourceRequest amReq) |
Modifier and Type | Method and Description |
---|---|
org.apache.hadoop.yarn.api.records.ApplicationReport |
createAndGetApplicationReport(String clientUserName,
boolean allowAccess)
To get the status of an application in the RM, this method can be used.
|
org.apache.hadoop.yarn.api.records.YarnApplicationState |
createApplicationState()
Create the external user-facing state of ApplicationMaster from the
current state of the
RMApp . |
org.apache.hadoop.yarn.api.records.ResourceRequest |
getAMResourceRequest() |
Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,RMAppAttempt> |
getAppAttempts()
RMApp can have multiple application attempts RMAppAttempt . |
org.apache.hadoop.yarn.api.records.ApplicationId |
getApplicationId()
The application id for this
RMApp . |
org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext |
getApplicationSubmissionContext()
The application submission context for this
RMApp |
Set<String> |
getApplicationTags()
Get tags for the application
|
String |
getApplicationType()
Returns the application type
|
RMAppAttempt |
getCurrentAppAttempt()
RMApp can have multiple application attempts RMAppAttempt . |
StringBuilder |
getDiagnostics()
the diagnostics information for the application master.
|
org.apache.hadoop.yarn.api.records.FinalApplicationStatus |
getFinalApplicationStatus()
The final finish state of the AM when unregistering as in
FinishApplicationMasterRequest.setFinalApplicationStatus(FinalApplicationStatus) . |
long |
getFinishTime()
The finish time of the
RMApp |
int |
getMaxAppAttempts()
The number of max attempts of the application.
|
String |
getName()
The name of the application as set in
ApplicationSubmissionContext.setApplicationName(String) . |
int |
getNextAttemptId() |
String |
getOriginalTrackingUrl()
The original tracking url for the application master.
|
float |
getProgress()
Progress of application.
|
String |
getQueue()
Each Application is submitted to a queue decided by
ApplicationSubmissionContext.setQueue(String) . |
Set<org.apache.hadoop.yarn.api.records.NodeId> |
getRanNodes()
Nodes on which the containers for this
RMApp ran. |
RMAppState |
getRecoveredFinalState() |
org.apache.hadoop.yarn.api.records.ReservationId |
getReservationId() |
RMAppAttempt |
getRMAppAttempt(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId)
RMApp can have multiple application attempts RMAppAttempt . |
RMAppMetrics |
getRMAppMetrics()
Get RMAppMetrics of the
RMApp . |
long |
getStartTime()
the start time of the application.
|
RMAppState |
getState()
The current state of the
RMApp . |
long |
getSubmitTime()
the submit time of the application.
|
String |
getTrackingUrl()
The tracking url for the application master.
|
String |
getUser()
The user who submitted this application.
|
void |
handle(RMAppEvent event) |
boolean |
isAppFinalStateStored()
Check whether this application's state has been saved to the state store.
|
static boolean |
isAppInFinalState(RMApp rmApp) |
protected org.apache.hadoop.security.Credentials |
parseCredentials() |
int |
pullRMNodeUpdates(Collection<RMNode> updatedNodes)
To receive the collection of all
RMNode s whose updates have been
received by the RMApp. |
void |
recover(RMStateStore.RMState state) |
void |
setQueue(String queue)
Reflects a change in the application's queue from the one specified in the
ApplicationSubmissionContext . |
void |
setSystemClock(org.apache.hadoop.yarn.util.Clock clock) |
public RMAppImpl(org.apache.hadoop.yarn.api.records.ApplicationId applicationId, RMContext rmContext, org.apache.hadoop.conf.Configuration config, String name, String user, String queue, org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext submissionContext, YarnScheduler scheduler, ApplicationMasterService masterService, long submitTime, String applicationType, Set<String> applicationTags, org.apache.hadoop.yarn.api.records.ResourceRequest amReq)
public org.apache.hadoop.yarn.api.records.ApplicationId getApplicationId()
RMApp
RMApp
.getApplicationId
in interface RMApp
ApplicationId
for this RMApp
.public org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext getApplicationSubmissionContext()
RMApp
RMApp
getApplicationSubmissionContext
in interface RMApp
ApplicationSubmissionContext
for this RMApp
public org.apache.hadoop.yarn.api.records.FinalApplicationStatus getFinalApplicationStatus()
RMApp
FinishApplicationMasterRequest.setFinalApplicationStatus(FinalApplicationStatus)
.getFinalApplicationStatus
in interface RMApp
FinishApplicationMasterRequest.setFinalApplicationStatus(FinalApplicationStatus)
.public RMAppState getState()
RMApp
RMApp
.getState
in interface RMApp
RMAppState
for this application.public String getUser()
RMApp
public float getProgress()
RMApp
getProgress
in interface RMApp
RMApp
.public RMAppAttempt getRMAppAttempt(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId)
RMApp
RMApp
can have multiple application attempts RMAppAttempt
.
This method returns the RMAppAttempt
corresponding to
ApplicationAttemptId
.getRMAppAttempt
in interface RMApp
appAttemptId
- the application attempt idRMAppAttempt
corresponding to the ApplicationAttemptId
.public String getQueue()
RMApp
ApplicationSubmissionContext.setQueue(String)
.
This method returns the queue to which an application was submitted.public void setQueue(String queue)
RMApp
ApplicationSubmissionContext
.public String getName()
RMApp
ApplicationSubmissionContext.setApplicationName(String)
.public RMAppAttempt getCurrentAppAttempt()
RMApp
RMApp
can have multiple application attempts RMAppAttempt
.
This method returns the current RMAppAttempt
.getCurrentAppAttempt
in interface RMApp
RMAppAttempt
public Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,RMAppAttempt> getAppAttempts()
RMApp
RMApp
can have multiple application attempts RMAppAttempt
.
This method returns the all RMAppAttempt
s for the RMApp.getAppAttempts
in interface RMApp
RMAppAttempt
s for the RMApp.public int pullRMNodeUpdates(Collection<RMNode> updatedNodes)
RMApp
RMNode
s whose updates have been
received by the RMApp. Updates can be node becoming lost or becoming
healthy etc. The method clears the information from the RMApp
. So
each call to this method gives the delta from the previous call.pullRMNodeUpdates
in interface RMApp
updatedNodes
- Collection into which the updates are transferredCollection
public org.apache.hadoop.yarn.api.records.ApplicationReport createAndGetApplicationReport(String clientUserName, boolean allowAccess)
RMApp
createAndGetApplicationReport
in interface RMApp
clientUserName
- the user name of the client requesting the reportallowAccess
- whether to allow full access to the reportApplicationReport
detailing the status of the application.public long getFinishTime()
RMApp
RMApp
getFinishTime
in interface RMApp
public long getStartTime()
RMApp
getStartTime
in interface RMApp
public long getSubmitTime()
RMApp
getSubmitTime
in interface RMApp
public String getTrackingUrl()
RMApp
getTrackingUrl
in interface RMApp
public String getOriginalTrackingUrl()
RMApp
getOriginalTrackingUrl
in interface RMApp
public StringBuilder getDiagnostics()
RMApp
getDiagnostics
in interface RMApp
public int getMaxAppAttempts()
RMApp
getMaxAppAttempts
in interface RMApp
public void handle(RMAppEvent event)
handle
in interface org.apache.hadoop.yarn.event.EventHandler<RMAppEvent>
public void recover(RMStateStore.RMState state)
recover
in interface Recoverable
public String getApplicationType()
RMApp
getApplicationType
in interface RMApp
public Set<String> getApplicationTags()
RMApp
getApplicationTags
in interface RMApp
public boolean isAppFinalStateStored()
RMApp
isAppFinalStateStored
in interface RMApp
public org.apache.hadoop.yarn.api.records.YarnApplicationState createApplicationState()
RMApp
RMApp
.createApplicationState
in interface RMApp
public static boolean isAppInFinalState(RMApp rmApp)
public RMAppState getRecoveredFinalState()
public Set<org.apache.hadoop.yarn.api.records.NodeId> getRanNodes()
RMApp
RMApp
ran.getRanNodes
in interface RMApp
RMApp
Add more node on which containers for this RMApp
ranpublic RMAppMetrics getRMAppMetrics()
RMApp
RMApp
.getRMAppMetrics
in interface RMApp
@InterfaceAudience.Private public void setSystemClock(org.apache.hadoop.yarn.util.Clock clock)
public org.apache.hadoop.yarn.api.records.ReservationId getReservationId()
getReservationId
in interface RMApp
public org.apache.hadoop.yarn.api.records.ResourceRequest getAMResourceRequest()
getAMResourceRequest
in interface RMApp
protected org.apache.hadoop.security.Credentials parseCredentials() throws IOException
IOException
@InterfaceAudience.Private public int getNextAttemptId()
Copyright © 2019 Apache Software Foundation. All Rights Reserved.