Example usage for org.apache.hadoop.yarn.api.records YarnApplicationState SUBMITTED

List of usage examples for org.apache.hadoop.yarn.api.records YarnApplicationState SUBMITTED

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.api.records YarnApplicationState SUBMITTED.

Prototype

YarnApplicationState SUBMITTED

To view the source code for org.apache.hadoop.yarn.api.records YarnApplicationState SUBMITTED.

Click Source Link

Document

Application which has been submitted.

Usage

From source file:com.datatorrent.stram.client.StramClientUtils.java

License:Apache License

public static ApplicationReport getStartedAppInstanceByName(YarnClient clientRMService, String appName,
        String user, String excludeAppId) throws YarnException, IOException {
    List<ApplicationReport> applications = clientRMService
            .getApplications(Sets.newHashSet(StramClient.YARN_APPLICATION_TYPE),
                    EnumSet.of(YarnApplicationState.RUNNING, YarnApplicationState.ACCEPTED,
                            YarnApplicationState.NEW, YarnApplicationState.NEW_SAVING,
                            YarnApplicationState.SUBMITTED));
    // see whether there is an app with the app name and user name running
    for (ApplicationReport app : applications) {
        if (!app.getApplicationId().toString().equals(excludeAppId) && app.getName().equals(appName)
                && app.getUser().equals(user)) {
            return app;
        }//w w  w .ja va2s  .c  o m
    }
    return null;
}

From source file:com.hazelcast.yarn.HazelcastYarnClient.java

License:Open Source License

private YarnApplicationState process(YarnClient yarnClient, ApplicationId appId, YarnApplicationState appState)
        throws InterruptedException, YarnException, IOException {
    ApplicationReport appReport;//from w  w w.  java2s. co  m

    while (appState == YarnApplicationState.NEW || appState == YarnApplicationState.NEW_SAVING
            || appState == YarnApplicationState.SUBMITTED || appState == YarnApplicationState.ACCEPTED) {
        TimeUnit.SECONDS.sleep(1L);
        appReport = yarnClient.getApplicationReport(appId);

        if ((appState != YarnApplicationState.ACCEPTED)
                && (appReport.getYarnApplicationState() == YarnApplicationState.ACCEPTED)) {
            LOG.log(Level.INFO, "Application {0} is ACCEPTED.", appId);
        }

        appState = appReport.getYarnApplicationState();
    }

    return appState;
}

From source file:io.hops.hopsworks.common.admin.llap.LlapClusterFacade.java

License:Open Source License

public boolean isClusterUp() {
    String llapAppID = variablesFacade.getVariableValue(Settings.VARIABLE_LLAP_APP_ID);
    if (llapAppID == null || llapAppID.isEmpty()) {
        return false;
    }/*from   w ww  .j a v a2s  .c  o  m*/

    ApplicationId appId = ApplicationId.fromString(llapAppID);
    YarnClient yarnClient = yarnClientService.getYarnClientSuper(settings.getConfiguration()).getYarnClient();
    ApplicationReport applicationReport = null;
    try {
        applicationReport = yarnClient.getApplicationReport(appId);
    } catch (IOException | YarnException e) {
        logger.log(Level.SEVERE,
                "Could not retrieve application state for llap cluster with appId: " + appId.toString(), e);
        return false;
    } finally {
        try {
            yarnClient.close();
        } catch (IOException ex) {
        }
    }

    YarnApplicationState appState = applicationReport.getYarnApplicationState();
    return appState == YarnApplicationState.RUNNING || appState == YarnApplicationState.SUBMITTED
            || appState == YarnApplicationState.ACCEPTED || appState == YarnApplicationState.NEW
            || appState == YarnApplicationState.NEW_SAVING;
}

From source file:org.apache.drill.yarn.core.YarnRMClient.java

License:Apache License

/**
 * Waits for the application to start. This version is somewhat informal, the
 * intended use is when debugging unmanaged applications.
 *
 * @throws YarnClientException// ww  w .ja  v a2 s .c o  m
 */
public ApplicationAttemptId waitForStart() throws YarnClientException {
    ApplicationReport appReport;
    YarnApplicationState appState;
    ApplicationAttemptId attemptId;
    for (;;) {
        appReport = getAppReport();
        appState = appReport.getYarnApplicationState();
        attemptId = appReport.getCurrentApplicationAttemptId();
        if (appState != YarnApplicationState.NEW && appState != YarnApplicationState.NEW_SAVING
                && appState != YarnApplicationState.SUBMITTED) {
            break;
        }
        System.out.println("App State: " + appState);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // Should never occur.
        }
    }
    if (appState != YarnApplicationState.ACCEPTED) {
        throw new YarnClientException("Application start failed with status " + appState);
    }

    return attemptId;
}

From source file:org.apache.ignite.yarn.IgniteYarnClient.java

License:Apache License

/**
 * Main methods has one mandatory parameter and one optional parameter.
 *
 * @param args Path to jar mandatory parameter and property file is optional.
 *///from w  w  w. j av a 2  s . c om
public static void main(String[] args) throws Exception {
    checkArguments(args);

    // Set path to app master jar.
    String pathAppMasterJar = args[0];

    ClusterProperties props = ClusterProperties.from(args.length == 2 ? args[1] : null);

    YarnConfiguration conf = new YarnConfiguration();
    YarnClient yarnClient = YarnClient.createYarnClient();
    yarnClient.init(conf);
    yarnClient.start();

    // Create application via yarnClient
    YarnClientApplication app = yarnClient.createApplication();

    FileSystem fs = FileSystem.get(conf);

    Path ignite;

    // Load ignite and jar
    if (props.ignitePath() == null)
        ignite = getIgnite(props, fs);
    else
        ignite = new Path(props.ignitePath());

    // Upload the jar file to HDFS.
    Path appJar = IgniteYarnUtils.copyLocalToHdfs(fs, pathAppMasterJar,
            props.igniteWorkDir() + File.separator + IgniteYarnUtils.JAR_NAME);

    // Set up the container launch context for the application master
    ContainerLaunchContext amContainer = Records.newRecord(ContainerLaunchContext.class);

    amContainer.setCommands(Collections
            .singletonList(Environment.JAVA_HOME.$() + "/bin/java -Xmx512m " + ApplicationMaster.class.getName()
                    + IgniteYarnUtils.SPACE + ignite.toUri() + IgniteYarnUtils.YARN_LOG_OUT));

    // Setup jar for ApplicationMaster
    LocalResource appMasterJar = IgniteYarnUtils.setupFile(appJar, fs, LocalResourceType.FILE);

    amContainer.setLocalResources(Collections.singletonMap(IgniteYarnUtils.JAR_NAME, appMasterJar));

    // Setup CLASSPATH for ApplicationMaster
    Map<String, String> appMasterEnv = props.toEnvs();

    setupAppMasterEnv(appMasterEnv, conf);

    amContainer.setEnvironment(appMasterEnv);

    // Setup security tokens
    if (UserGroupInformation.isSecurityEnabled()) {
        Credentials creds = new Credentials();

        String tokRenewer = conf.get(YarnConfiguration.RM_PRINCIPAL);

        if (tokRenewer == null || tokRenewer.length() == 0)
            throw new IOException("Master Kerberos principal for the RM is not set.");

        log.info("Found RM principal: " + tokRenewer);

        final Token<?> tokens[] = fs.addDelegationTokens(tokRenewer, creds);

        if (tokens != null)
            log.info("File system delegation tokens: " + Arrays.toString(tokens));

        amContainer.setTokens(IgniteYarnUtils.createTokenBuffer(creds));
    }

    // Set up resource type requirements for ApplicationMaster
    Resource capability = Records.newRecord(Resource.class);
    capability.setMemory(512);
    capability.setVirtualCores(1);

    // Finally, set-up ApplicationSubmissionContext for the application
    ApplicationSubmissionContext appContext = app.getApplicationSubmissionContext();
    appContext.setApplicationName("ignition"); // application name
    appContext.setAMContainerSpec(amContainer);
    appContext.setResource(capability);
    appContext.setQueue("default"); // queue

    // Submit application
    ApplicationId appId = appContext.getApplicationId();

    yarnClient.submitApplication(appContext);

    log.log(Level.INFO, "Submitted application. Application id: {0}", appId);

    ApplicationReport appReport = yarnClient.getApplicationReport(appId);
    YarnApplicationState appState = appReport.getYarnApplicationState();

    while (appState == YarnApplicationState.NEW || appState == YarnApplicationState.NEW_SAVING
            || appState == YarnApplicationState.SUBMITTED || appState == YarnApplicationState.ACCEPTED) {
        TimeUnit.SECONDS.sleep(1L);

        appReport = yarnClient.getApplicationReport(appId);

        if (appState != YarnApplicationState.ACCEPTED
                && appReport.getYarnApplicationState() == YarnApplicationState.ACCEPTED)
            log.log(Level.INFO, "Application {0} is ACCEPTED.", appId);

        appState = appReport.getYarnApplicationState();
    }

    log.log(Level.INFO, "Application {0} is {1}.", new Object[] { appId, appState });
}

From source file:org.apache.tez.client.LocalClient.java

License:Apache License

protected YarnApplicationState convertDAGAppMasterState(DAGAppMasterState dagAppMasterState) {
    switch (dagAppMasterState) {
    case NEW:/* w  w  w. jav a2s  . c om*/
        return YarnApplicationState.NEW;
    case INITED:
    case RECOVERING:
    case IDLE:
    case RUNNING:
        return YarnApplicationState.RUNNING;
    case SUCCEEDED:
        return YarnApplicationState.FINISHED;
    case FAILED:
        return YarnApplicationState.FAILED;
    case KILLED:
        return YarnApplicationState.KILLED;
    case ERROR:
        return YarnApplicationState.FAILED;
    default:
        return YarnApplicationState.SUBMITTED;
    }
}

From source file:org.apache.tez.history.ATSImportTool_V2.java

License:Apache License

private void waitForApplicationToComplete()
        throws IOException, ATSImportException, InterruptedException, JSONException {
    YarnApplicationState state = getAppStatus(appId);
    while (state == YarnApplicationState.RUNNING || state == YarnApplicationState.NEW
            || state == YarnApplicationState.SUBMITTED || state == YarnApplicationState.ACCEPTED) {

        //keep trying until the app finishes
        LOG.info("App state: " + state + ", sleeping for 10 seconds to check state again");
        Thread.sleep(10000);/*from  w w  w. j  a  v  a 2s  .c om*/

        state = getAppStatus(appId);
    }
    LOG.info("App state: " + state);
}

From source file:org.apache.tez.test.MiniTezCluster.java

License:Apache License

private void waitForAppsToFinish() {
    YarnClient yarnClient = YarnClient.createYarnClient();
    yarnClient.init(getConfig());/*from w w w  .j a va2 s .co m*/
    yarnClient.start();
    try {
        while (true) {
            List<ApplicationReport> appReports = yarnClient.getApplications();
            Collection<ApplicationReport> unCompletedApps = Collections2.filter(appReports,
                    new Predicate<ApplicationReport>() {
                        @Override
                        public boolean apply(ApplicationReport appReport) {
                            return EnumSet
                                    .of(YarnApplicationState.NEW, YarnApplicationState.NEW_SAVING,
                                            YarnApplicationState.SUBMITTED, YarnApplicationState.ACCEPTED,
                                            YarnApplicationState.RUNNING)
                                    .contains(appReport.getYarnApplicationState());
                        }
                    });
            if (unCompletedApps.size() == 0) {
                break;
            }
            LOG.info("wait for applications to finish in MiniTezCluster");
            Thread.sleep(1000);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        yarnClient.stop();
    }
}

From source file:org.apache.tez.tests.MiniTezClusterWithTimeline.java

License:Apache License

private void waitForAppsToFinish() {
    YarnClient yarnClient = YarnClient.createYarnClient();
    yarnClient.init(getConfig());/*  w  w  w .ja v  a 2s . com*/
    yarnClient.start();
    try {
        while (true) {
            List<ApplicationReport> appReports = yarnClient.getApplications();
            Collection<ApplicationReport> unCompletedApps = Collections2.filter(appReports,
                    new Predicate<ApplicationReport>() {
                        @Override
                        public boolean apply(ApplicationReport appReport) {
                            return EnumSet
                                    .of(YarnApplicationState.NEW, YarnApplicationState.NEW_SAVING,
                                            YarnApplicationState.SUBMITTED, YarnApplicationState.ACCEPTED,
                                            YarnApplicationState.RUNNING)
                                    .contains(appReport.getYarnApplicationState());
                        }
                    });
            if (unCompletedApps.size() == 0) {
                break;
            }
            LOG.info("wait for applications to finish in MiniTezClusterWithTimeline");
            Thread.sleep(1000);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        yarnClient.stop();
    }
}

From source file:org.huahinframework.manager.rest.service.ApplicationService.java

License:Apache License

@Path("/list")
@GET//from ww  w. j ava2  s. co  m
@Produces(MediaType.APPLICATION_JSON)
public JSONObject list() {
    JSONObject jsonObject = new JSONObject();

    try {
        GetAllApplicationsRequest request = recordFactory.newRecordInstance(GetAllApplicationsRequest.class);
        GetAllApplicationsResponse response = applicationsManager.getAllApplications(request);

        JSONObject appObject = new JSONObject();
        List<JSONObject> apps = new ArrayList<JSONObject>();
        for (ApplicationReport ar : response.getApplicationList()) {
            JSONObject app = new JSONObject();
            app.put(Response.ID, ar.getApplicationId().toString());
            app.put(Response.USER, ar.getUser());
            app.put(Response.NAME, ar.getName());
            app.put(Response.QUEUE, ar.getQueue());
            YarnApplicationState state = ar.getYarnApplicationState();
            app.put(Response.STATE, state);
            app.put(Response.FINAL_STATUS, ar.getFinalApplicationStatus().name());
            String trackingUrl = ar.getTrackingUrl();
            boolean trackingUrlIsNotReady = trackingUrl == null || trackingUrl.isEmpty()
                    || YarnApplicationState.NEW == state || YarnApplicationState.SUBMITTED == state
                    || YarnApplicationState.ACCEPTED == state;
            String trackingUI = trackingUrlIsNotReady ? "UNASSIGNED"
                    : (ar.getFinishTime() == 0 ? "ApplicationMaster" : "History");
            app.put(Response.TRACKING_UI, trackingUI);
            app.put(Response.TRACKING_URL, trackingUrl);
            app.put(Response.DIAGNOSTICS, ar.getDiagnostics());
            app.put(Response.START_TIME, new Date(ar.getStartTime()));
            app.put(Response.FINISHED_TIME, ar.getFinishTime() == 0 ? "" : new Date(ar.getFinishTime()));
            app.put(Response.ELAPSED_TIME,
                    (Times.elapsed(ar.getStartTime(), ar.getFinishTime()) / 1000) + "sec");
            apps.add(app);
        }

        appObject.put(Response.APP, new JSONArray(apps));
        jsonObject.put(Response.APPS, appObject);
    } catch (Exception e) {
        e.printStackTrace();
        log.error(e);
        Map<String, String> status = new HashMap<String, String>();
        status.put(Response.STATUS, e.getMessage());
        jsonObject = new JSONObject(status);
    }

    return jsonObject;
}