Example usage for org.apache.hadoop.yarn.client.api YarnClient isInState

List of usage examples for org.apache.hadoop.yarn.client.api YarnClient isInState

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.client.api YarnClient isInState.

Prototype

@Override
    public final boolean isInState(Service.STATE expected) 

Source Link

Usage

From source file:edu.uci.ics.asterix.aoya.AsterixYARNClient.java

License:Apache License

/**
 * Asks YARN to kill a given application by appId
 * @param appId The application to kill.
 * @param yarnClient The YARN client object that is connected to the RM.
 * @throws YarnException//from  w w w  . jav  a 2  s .  co  m
 * @throws IOException
 */

public static void killApplication(ApplicationId appId, YarnClient yarnClient)
        throws YarnException, IOException {
    if (appId == null) {
        throw new YarnException("No Application given to kill");
    }
    if (yarnClient.isInState(STATE.INITED)) {
        yarnClient.start();
    }
    YarnApplicationState st;
    ApplicationReport rep = yarnClient.getApplicationReport(appId);
    st = rep.getYarnApplicationState();
    if (st == YarnApplicationState.FINISHED || st == YarnApplicationState.KILLED
            || st == YarnApplicationState.FAILED) {
        LOG.info("Application " + appId + " already exited.");
        return;
    }
    LOG.info("Killing applicaiton with ID: " + appId);
    yarnClient.killApplication(appId);

}