Package org.apache.hadoop.mapred.ControlledMapReduceJob

Examples of org.apache.hadoop.mapred.ControlledMapReduceJob.ControlledMapReduceJobRunner


    clusterProps.put("mapred.tasktracker.reduce.tasks.maximum", String
        .valueOf(3));
    // cluster capacity 12 maps, 12 reduces
    startCluster(4, clusterProps, schedulerProps);

    ControlledMapReduceJobRunner jobRunner =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
            getJobConf(), 16, 16);
    jobRunner.start();
    ControlledMapReduceJob controlledJob = jobRunner.getJob();
    JobID myJobID = jobRunner.getJobID();
    JobInProgress myJob = getJobTracker().getJob(myJobID);

    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 12);

    // Wait till the cluster reaches steady state. This confirms that the rest
    // of the tasks are not running and waiting for slots
    // to be freed.
    waitTillAllSlotsAreOccupied(true);

    LOG.info("Trying to finish 2 maps");
    controlledJob.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 2);
    assertTrue("Number of maps finished", myJob.finishedMaps() == 2);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 12);
    waitTillAllSlotsAreOccupied(true);

    LOG.info("Trying to finish 2 more maps");
    controlledJob.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 4);
    assertTrue("Number of maps finished", myJob.finishedMaps() == 4);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 12);
    waitTillAllSlotsAreOccupied(true);

    LOG.info("Trying to finish the last 12 maps");
    controlledJob.finishNTasks(true, 12);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 16);
    assertTrue("Number of maps finished", myJob.finishedMaps() == 16);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 0);
    ControlledMapReduceJob.haveAllTasksFinished(myJob, true);

    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, false, 12);
    waitTillAllSlotsAreOccupied(false);

    LOG.info("Trying to finish 4 reduces");
    controlledJob.finishNTasks(false, 4);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, false, 4);
    assertTrue("Number of reduces finished", myJob.finishedReduces() == 4);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, false, 12);
    waitTillAllSlotsAreOccupied(false);

    LOG.info("Trying to finish the last 12 reduces");
    controlledJob.finishNTasks(false, 12);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, false, 16);
    assertTrue("Number of reduces finished", myJob.finishedReduces() == 16);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, false, 0);
    ControlledMapReduceJob.haveAllTasksFinished(myJob, false);

    jobRunner.join();
  }
View Full Code Here


   * @throws Exception
   */
  private void singleQMultipleJobs1()
      throws Exception {

    ControlledMapReduceJobRunner jobRunner1 =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
            getJobConf(), 16, 0);
    ControlledMapReduceJobRunner jobRunner2 =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
            getJobConf(), 12, 0);
    jobRunner1.start();
    ControlledMapReduceJob controlledJob1 = jobRunner1.getJob();
    JobID jobID1 = jobRunner1.getJobID();
    JobInProgress jip1 = getJobTracker().getJob(jobID1);

    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 12);

    // Confirm that the rest of the tasks are not running and waiting for slots
    // to be freed.
    waitTillAllSlotsAreOccupied(true);

    // Now start the second job.
    jobRunner2.start();
    JobID jobID2 = jobRunner2.getJobID();
    ControlledMapReduceJob controlledJob2 = jobRunner2.getJob();
    JobInProgress jip2 = getJobTracker().getJob(jobID2);

    LOG.info("Trying to finish 2 map");
    controlledJob1.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 2);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 2);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 12);
    waitTillAllSlotsAreOccupied(true);

    LOG.info("Trying to finish 2 more maps");
    controlledJob1.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 4);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 4);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 12);
    waitTillAllSlotsAreOccupied(true);

    // All tasks of Job1 started running/finished. Now job2 should start
    LOG.info("Trying to finish 2 more maps");
    controlledJob1.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 6);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 6);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 10);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip2, true, 2);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 10);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 2);

    LOG.info("Trying to finish 10 more maps and hence job1");
    controlledJob1.finishNTasks(true, 10);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 16);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 16);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip2, true, 12);
    controlledJob1.finishJob();
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 0);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 12);

    // Finish job2 also
    controlledJob2.finishJob();
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip2, true, 12);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 0);

    jobRunner1.join();
    jobRunner2.join();
  }
View Full Code Here

   * @throws Exception
   */
  private void singleQMultipleJobs2()
      throws Exception {

    ControlledMapReduceJobRunner jobRunner1 =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
            getJobConf(), 8, 0);
    ControlledMapReduceJobRunner jobRunner2 =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
            getJobConf(), 12, 0);
    jobRunner1.start();
    ControlledMapReduceJob controlledJob1 = jobRunner1.getJob();
    JobID jobID1 = jobRunner1.getJobID();
    JobInProgress jip1 = getJobTracker().getJob(jobID1);

    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 8);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 8);

    // Now start the second job.
    jobRunner2.start();
    JobID jobID2 = jobRunner2.getJobID();
    ControlledMapReduceJob controlledJob2 = jobRunner2.getJob();
    JobInProgress jip2 = getJobTracker().getJob(jobID2);

    ControlledMapReduceJob.waitTillNTasksStartRunning(jip2, true, 4);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 8);
    // The rest of the tasks of job2 should wait.
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 4);

    LOG.info("Trying to finish 2 maps of job1");
    controlledJob1.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 2);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 2);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 6);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip2, true, 6);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 6);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 6);

    LOG.info("Trying to finish 6 more maps of job1");
    controlledJob1.finishNTasks(true, 6);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 8);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 8);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip2, true, 12);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 0);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 12);

    // Finish job2 also
    controlledJob2.finishJob();

    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip2, true, 12);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 0);

    jobRunner1.join();
    jobRunner2.join();
  }
View Full Code Here

      throws Exception {

    JobConf conf = getJobConf();
    conf.setQueueName(queues[0]);
    conf.setUser("U1");
    ControlledMapReduceJobRunner jobRunner =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(conf, 15,
            0);
    jobRunner.start();
    ControlledMapReduceJob controlledJob = jobRunner.getJob();
    JobID myJobID = jobRunner.getJobID();
    JobInProgress myJob = getJobTracker().getJob(myJobID);

    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 10);

    // Confirm that the rest of the tasks are not running and waiting for slots
    // to be freed.
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(myJob, true, 10);

    LOG.info("Trying to finish 3 maps");
    controlledJob.finishNTasks(true, 3);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 3);
    assertTrue("Number of maps finished", myJob.finishedMaps() == 3);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 10);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(myJob, true, 10);

    LOG.info("Trying to finish 2 more maps");
    controlledJob.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 5);
    assertTrue("Number of maps finished", myJob.finishedMaps() == 5);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 10);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(myJob, true, 10);

    // Finish job
    controlledJob.finishJob();
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 15);
    ControlledMapReduceJob.assertNumTasksRunning(myJob, true, 0);
    jobRunner.join();
  }
View Full Code Here

        .valueOf(1));
    clusterProps.put("mapred.jobtracker.maxtasks.per.job", String
        .valueOf(1));
    // cluster capacity 1 maps, 1 reduces
    startCluster(1, clusterProps, schedulerProps);
    ControlledMapReduceJobRunner jobRunner =
      ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
          getJobConf(), 3, 3);
    jobRunner.start();
    JobID myJobID = jobRunner.getJobID();
    JobInProgress myJob = getJobTracker().getJob(myJobID);
    while(!myJob.isComplete()) {
      Thread.sleep(1000);
    }
    assertTrue("The submitted job successfully completed",
View Full Code Here

    clusterProps.put("mapred.tasktracker.reduce.tasks.maximum", String
        .valueOf(3));
    // cluster capacity 12 maps, 12 reduces
    startCluster(4, 2, clusterProps, schedulerProps);

    ControlledMapReduceJobRunner jobRunner =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
            getJobConf(), 16, 16);
    jobRunner.start();
    ControlledMapReduceJob controlledJob = jobRunner.getJob();
    JobID myJobID = jobRunner.getJobID();
    JobInProgress myJob = getJobTracker().getJob(myJobID);

    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 12);

    // Wait till the cluster reaches steady state. This confirms that the rest
    // of the tasks are not running and waiting for slots
    // to be freed.
    waitTillAllSlotsAreOccupied(true);

    LOG.info("Trying to finish 2 maps");
    controlledJob.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 2);
    assertTrue("Number of maps finished", myJob.finishedMaps() == 2);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 12);
    waitTillAllSlotsAreOccupied(true);

    LOG.info("Trying to finish 2 more maps");
    controlledJob.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 4);
    assertTrue("Number of maps finished", myJob.finishedMaps() == 4);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 12);
    waitTillAllSlotsAreOccupied(true);

    LOG.info("Trying to finish the last 12 maps");
    controlledJob.finishNTasks(true, 12);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 16);
    assertTrue("Number of maps finished", myJob.finishedMaps() == 16);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 0);
    ControlledMapReduceJob.haveAllTasksFinished(myJob, true);

    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, false, 12);
    waitTillAllSlotsAreOccupied(false);

    LOG.info("Trying to finish 4 reduces");
    controlledJob.finishNTasks(false, 4);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, false, 4);
    assertTrue("Number of reduces finished", myJob.finishedReduces() == 4);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, false, 12);
    waitTillAllSlotsAreOccupied(false);

    LOG.info("Trying to finish the last 12 reduces");
    controlledJob.finishNTasks(false, 12);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, false, 16);
    assertTrue("Number of reduces finished", myJob.finishedReduces() == 16);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, false, 0);
    ControlledMapReduceJob.haveAllTasksFinished(myJob, false);

    jobRunner.join();
  }
View Full Code Here

   * @throws Exception
   */
  private void singleQMultipleJobs1()
      throws Exception {

    ControlledMapReduceJobRunner jobRunner1 =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
            getJobConf(), 16, 0);
    ControlledMapReduceJobRunner jobRunner2 =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
            getJobConf(), 12, 0);
    jobRunner1.start();
    ControlledMapReduceJob controlledJob1 = jobRunner1.getJob();
    JobID jobID1 = jobRunner1.getJobID();
    JobInProgress jip1 = getJobTracker().getJob(jobID1);

    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 12);

    // Confirm that the rest of the tasks are not running and waiting for slots
    // to be freed.
    waitTillAllSlotsAreOccupied(true);

    // Now start the second job.
    jobRunner2.start();
    JobID jobID2 = jobRunner2.getJobID();
    ControlledMapReduceJob controlledJob2 = jobRunner2.getJob();
    JobInProgress jip2 = getJobTracker().getJob(jobID2);

    LOG.info("Trying to finish 2 map");
    controlledJob1.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 2);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 2);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 12);
    waitTillAllSlotsAreOccupied(true);

    LOG.info("Trying to finish 2 more maps");
    controlledJob1.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 4);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 4);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 12);
    waitTillAllSlotsAreOccupied(true);

    // All tasks of Job1 started running/finished. Now job2 should start
    LOG.info("Trying to finish 2 more maps");
    controlledJob1.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 6);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 6);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 10);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip2, true, 2);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 10);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 2);

    LOG.info("Trying to finish 10 more maps and hence job1");
    controlledJob1.finishNTasks(true, 10);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 16);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 16);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip2, true, 12);
    controlledJob1.finishJob();
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 0);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 12);

    // Finish job2 also
    controlledJob2.finishJob();
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip2, true, 12);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 0);

    jobRunner1.join();
    jobRunner2.join();
  }
View Full Code Here

   * @throws Exception
   */
  private void singleQMultipleJobs2()
      throws Exception {

    ControlledMapReduceJobRunner jobRunner1 =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
            getJobConf(), 8, 0);
    ControlledMapReduceJobRunner jobRunner2 =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
            getJobConf(), 12, 0);
    jobRunner1.start();
    ControlledMapReduceJob controlledJob1 = jobRunner1.getJob();
    JobID jobID1 = jobRunner1.getJobID();
    JobInProgress jip1 = getJobTracker().getJob(jobID1);

    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 8);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 8);

    // Now start the second job.
    jobRunner2.start();
    JobID jobID2 = jobRunner2.getJobID();
    ControlledMapReduceJob controlledJob2 = jobRunner2.getJob();
    JobInProgress jip2 = getJobTracker().getJob(jobID2);

    ControlledMapReduceJob.waitTillNTasksStartRunning(jip2, true, 4);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 8);
    // The rest of the tasks of job2 should wait.
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 4);

    LOG.info("Trying to finish 2 maps of job1");
    controlledJob1.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 2);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 2);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip1, true, 6);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip2, true, 6);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 6);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 6);

    LOG.info("Trying to finish 6 more maps of job1");
    controlledJob1.finishNTasks(true, 6);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip1, true, 8);
    assertTrue("Number of maps finished", jip1.finishedMaps() == 8);
    ControlledMapReduceJob.waitTillNTasksStartRunning(jip2, true, 12);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(jip1, true, 0);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 12);

    // Finish job2 also
    controlledJob2.finishJob();

    ControlledMapReduceJob.waitTillNTotalTasksFinish(jip2, true, 12);
    ControlledMapReduceJob.assertNumTasksRunning(jip2, true, 0);

    jobRunner1.join();
    jobRunner2.join();
  }
View Full Code Here

      throws Exception {

    JobConf conf = getJobConf();
    conf.setQueueName(queues[0]);
    conf.setUser("U1");
    ControlledMapReduceJobRunner jobRunner =
        ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(conf, 15,
            0);
    jobRunner.start();
    ControlledMapReduceJob controlledJob = jobRunner.getJob();
    JobID myJobID = jobRunner.getJobID();
    JobInProgress myJob = getJobTracker().getJob(myJobID);

    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 10);

    // Confirm that the rest of the tasks are not running and waiting for slots
    // to be freed.
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(myJob, true, 10);

    LOG.info("Trying to finish 3 maps");
    controlledJob.finishNTasks(true, 3);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 3);
    assertTrue("Number of maps finished", myJob.finishedMaps() == 3);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 10);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(myJob, true, 10);

    LOG.info("Trying to finish 2 more maps");
    controlledJob.finishNTasks(true, 2);
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 5);
    assertTrue("Number of maps finished", myJob.finishedMaps() == 5);
    ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 10);
    waitTillAllSlotsAreOccupied(true);
    ControlledMapReduceJob.assertNumTasksRunning(myJob, true, 10);

    // Finish job
    controlledJob.finishJob();
    ControlledMapReduceJob.waitTillNTotalTasksFinish(myJob, true, 15);
    ControlledMapReduceJob.assertNumTasksRunning(myJob, true, 0);
    jobRunner.join();
  }
View Full Code Here

      clusterProps.put("mapred.tasktracker.reduce.tasks.maximum", String.valueOf(0));

      // cluster capacity 2 maps, 0 reduces
      startCluster(1, clusterProps, schedulerProps);

      ControlledMapReduceJobRunner jobRunner =
              ControlledMapReduceJobRunner.getControlledMapReduceJobRunner(
              getJobConf(), 4, 0);
      jobRunner.start();
      ControlledMapReduceJob controlledJob = jobRunner.getJob();
      JobID myJobID = jobRunner.getJobID();
      JobInProgress myJob = getJobTracker().getJob(myJobID);
      ControlledMapReduceJob.waitTillNTasksStartRunning(myJob, true, 2);

      LOG.info("Trying to finish 2 maps");
      controlledJob.finishNTasks(true, 2);
View Full Code Here

TOP

Related Classes of org.apache.hadoop.mapred.ControlledMapReduceJob.ControlledMapReduceJobRunner

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.