private ApplicationId createApp(YarnClient rmClient, boolean unmanaged) throws Exception {
    YarnClientApplication newApp = rmClient.createApplication();

    ApplicationId appId = newApp.getNewApplicationResponse().getApplicationId();

    // Create launch context for app master
    ApplicationSubmissionContext appContext = Records.newRecord(ApplicationSubmissionContext.class);

    // set the application id
    appContext.setApplicationId(appId);

    // set the application name
    appContext.setApplicationName("test");

    // Set the priority for the application master
    Priority pri = Records.newRecord(Priority.class);
    pri.setPriority(1);
    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 = Records.newRecord(ContainerLaunchContext.class);
    appContext.setAMContainerSpec(amContainer);
    appContext.setResource(Resource.newInstance(1024, 1));
    appContext.setUnmanagedAM(unmanaged);

    // Submit the application to the applications manager
    rmClient.submitApplication(appContext);

    return appId;
  }
Esempio n. 2
0
 public static ApplicationSubmissionContext newApplicationSubmissionContext(
     ApplicationId applicationId,
     String applicationName,
     String queue,
     Priority priority,
     ContainerLaunchContext amContainer,
     boolean isUnmanagedAM,
     boolean cancelTokensWhenComplete,
     int maxAppAttempts,
     Resource resource,
     String applicationType) {
   ApplicationSubmissionContext context =
       recordFactory.newRecordInstance(ApplicationSubmissionContext.class);
   context.setApplicationId(applicationId);
   context.setApplicationName(applicationName);
   context.setQueue(queue);
   context.setPriority(priority);
   context.setAMContainerSpec(amContainer);
   context.setUnmanagedAM(isUnmanagedAM);
   context.setCancelTokensWhenComplete(cancelTokensWhenComplete);
   context.setMaxAppAttempts(maxAppAttempts);
   context.setResource(resource);
   context.setApplicationType(applicationType);
   return context;
 }