Example usage for org.apache.hadoop.yarn.api.protocolrecords SubmitApplicationRequest setApplicationSubmissionContext

List of usage examples for org.apache.hadoop.yarn.api.protocolrecords SubmitApplicationRequest setApplicationSubmissionContext

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.api.protocolrecords SubmitApplicationRequest setApplicationSubmissionContext.

Prototype

@Public
@Stable
public abstract void setApplicationSubmissionContext(ApplicationSubmissionContext context);

Source Link

Document

Set the ApplicationSubmissionContext for the application.

Usage

From source file:com.cloudera.kitten.client.service.YarnClientServiceImpl.java

License:Open Source License

private void submitApplication(ApplicationSubmissionContext appContext) {
    SubmitApplicationRequest appRequest = Records.newRecord(SubmitApplicationRequest.class);
    appRequest.setApplicationSubmissionContext(appContext);

    LOG.info("Submitting application to the applications manager");
    try {//from  w ww  .  java2s.  co m
        applicationsManager.submitApplication(appRequest);
    } catch (YarnRemoteException e) {
        LOG.error("Exception thrown submitting application", e);
        stop();
    }
}

From source file:com.splicemachine.yarn.test.BareYarnTest.java

License:Apache License

/**
 * All we really need to do here is to create a yarn client, configure it using the same
 * yarn-site.xml as was used by the server to start up.
 * @throws YarnException//from  www  .  j  av  a2 s.  c o  m
 * @throws IOException
 */
@Test(timeout = 60000)
@Ignore("Broken by dependency change")
public void testAMRMClientMatchingFitInferredRack() throws YarnException, IOException {
    // create, submit new app
    ApplicationSubmissionContext appContext = yarnClient.createApplication().getApplicationSubmissionContext();
    ApplicationId appId = appContext.getApplicationId();
    // set the application name
    appContext.setApplicationName("Test");
    // Set the priority for the application master
    Priority pri = Records.newRecord(Priority.class);
    pri.setPriority(0);
    appContext.setPriority(pri);
    // Set the queue to which this application is to be submitted in the RM
    appContext.setQueue("default");
    // Set up the container launch context for the application master
    ContainerLaunchContext amContainer = BuilderUtils.newContainerLaunchContext(
            Collections.<String, LocalResource>emptyMap(), new HashMap<String, String>(),
            Arrays.asList("sleep", "100"), new HashMap<String, ByteBuffer>(), null,
            new HashMap<ApplicationAccessType, String>());
    appContext.setAMContainerSpec(amContainer);
    appContext.setResource(Resource.newInstance(1024, 1));
    // Create the request to send to the applications manager
    SubmitApplicationRequest appRequest = Records.newRecord(SubmitApplicationRequest.class);
    appRequest.setApplicationSubmissionContext(appContext);
    // Submit the application to the applications manager
    yarnClient.submitApplication(appContext);

    // wait for app to start
    RMAppAttempt appAttempt;
    while (true) {
        ApplicationReport appReport = yarnClient.getApplicationReport(appId);
        if (appReport.getYarnApplicationState() == YarnApplicationState.ACCEPTED) {
            ApplicationAttemptId attemptId = appReport.getCurrentApplicationAttemptId();
            appAttempt = yarnPlatform.getResourceManager().getRMContext().getRMApps()
                    .get(attemptId.getApplicationId()).getCurrentAppAttempt();
            while (true) {
                if (appAttempt.getAppAttemptState() == RMAppAttemptState.LAUNCHED) {
                    break;
                }
            }
            break;
        }
    }
    // Just dig into the ResourceManager and get the AMRMToken just for the sake
    // of testing.
    UserGroupInformation.setLoginUser(
            UserGroupInformation.createRemoteUser(UserGroupInformation.getCurrentUser().getUserName()));
    UserGroupInformation.getCurrentUser().addToken(appAttempt.getAMRMToken());
}

From source file:edu.uci.ics.hyracks.yarn.common.protocols.clientrm.YarnApplication.java

License:Apache License

public void submit() throws YarnRemoteException {
    appCtx.setAMContainerSpec(clCtx);//from   w w  w  .ja  va 2 s.c o m
    SubmitApplicationRequest appRequest = Records.newRecord(SubmitApplicationRequest.class);
    appRequest.setApplicationSubmissionContext(appCtx);
    crmc.getClientRMProtocol().submitApplication(appRequest);
}

From source file:io.hops.metadata.util.TestHopYarnAPIUtilities.java

License:Apache License

private SubmitApplicationRequest mockSubmitAppRequest(ApplicationId appId, String name, String queue,
        Set<String> tags, boolean unmanaged) {

    //    ContainerLaunchContext amContainerSpec = mock(ContainerLaunchContext.class);
    ContainerLaunchContext amContainerSpec = new ContainerLaunchContextPBImpl();
    org.apache.hadoop.yarn.api.records.Resource resource = Resources
            .createResource(YarnConfiguration.DEFAULT_RM_SCHEDULER_MINIMUM_ALLOCATION_MB);

    ApplicationSubmissionContext submissionContext = recordFactory
            .newRecordInstance(ApplicationSubmissionContext.class);
    submissionContext.setAMContainerSpec(amContainerSpec);
    submissionContext.setApplicationName(name);
    submissionContext.setQueue(queue);/*from ww w  .j a  v a  2 s.  co  m*/
    submissionContext.setApplicationId(appId);
    submissionContext.setResource(resource);
    submissionContext.setApplicationType(appType);
    submissionContext.setApplicationTags(tags);
    submissionContext.setUnmanagedAM(unmanaged);

    SubmitApplicationRequest submitRequest = recordFactory.newRecordInstance(SubmitApplicationRequest.class);
    submitRequest.setApplicationSubmissionContext(submissionContext);
    return submitRequest;
}

From source file:org.deeplearning4j.iterativereduce.runtime.yarn.ResourceManagerHandler.java

License:Apache License

public void submitApplication(ApplicationId appId, String appName, Map<String, String> env,
        Map<String, LocalResource> localResources, List<String> commands, int memory)
        throws URISyntaxException, IOException {

    if (clientResourceManager == null)
        throw new IllegalStateException("Cannot submit an application without connecting to resource manager!");

    ApplicationSubmissionContext appCtx = Records.newRecord(ApplicationSubmissionContext.class);
    appCtx.setApplicationId(appId);/*from   w  w w. jav  a2  s  .  co m*/
    appCtx.setApplicationName(appName);
    appCtx.setQueue("default");
    appCtx.setUser(UserGroupInformation.getCurrentUser().getShortUserName());

    //System.out.println( "Based on my current user I am: " + UserGroupInformation.getCurrentUser().getShortUserName() );

    Priority prio = Records.newRecord(Priority.class);
    prio.setPriority(0);
    appCtx.setPriority(prio);

    // Launch ctx
    ContainerLaunchContext containerCtx = Records.newRecord(ContainerLaunchContext.class);
    containerCtx.setLocalResources(localResources);
    containerCtx.setCommands(commands);
    containerCtx.setEnvironment(env);
    containerCtx.setUser(UserGroupInformation.getCurrentUser().getShortUserName());

    Resource capability = Records.newRecord(Resource.class);
    capability.setMemory(memory);
    containerCtx.setResource(capability);

    appCtx.setAMContainerSpec(containerCtx);

    SubmitApplicationRequest submitReq = Records.newRecord(SubmitApplicationRequest.class);
    submitReq.setApplicationSubmissionContext(appCtx);

    LOG.info("Submitting application to ASM");
    clientResourceManager.submitApplication(submitReq);

    // Don't return anything, ASM#submit returns an empty response
}

From source file:org.springframework.yarn.client.ClientRmTemplate.java

License:Apache License

@Override
public SubmitApplicationResponse submitApplication(final ApplicationSubmissionContext appSubContext) {
    return execute(new YarnRpcCallback<SubmitApplicationResponse, ApplicationClientProtocol>() {
        @Override//from  www  . j  ava 2 s. c o m
        public SubmitApplicationResponse doInYarn(ApplicationClientProtocol proxy)
                throws YarnException, IOException {
            SubmitApplicationRequest request = Records.newRecord(SubmitApplicationRequest.class);
            request.setApplicationSubmissionContext(appSubContext);
            return proxy.submitApplication(request);
        }
    });
}