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

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

Introduction

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

Prototype

YarnApplicationState NEW_SAVING

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

Click Source Link

Document

Application which is being saved.

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;
        }/*from   ww  w.j  a va  2  s.c  om*/
    }
    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;//ww  w  . ja va2s  . 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  w  w  .  j  a v  a2 s  .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/* w  w w.j  a v  a  2  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  ww  w  .  ja  v  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.test.MiniTezCluster.java

License:Apache License

private void waitForAppsToFinish() {
    YarnClient yarnClient = YarnClient.createYarnClient();
    yarnClient.init(getConfig());/*from   w w w  .j  a va 2  s.c o 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());/*from ww  w  . ja  v a  2  s .c  o 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 MiniTezClusterWithTimeline");
            Thread.sleep(1000);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        yarnClient.stop();
    }
}