Java Code Examples for org.apache.hadoop.mapreduce.v2.util.MRApps#toJobID()

The following examples show how to use org.apache.hadoop.mapreduce.v2.util.MRApps#toJobID() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AppController.java    From hadoop with Apache License 2.0 6 votes vote down vote up
/**
 * Ensure that a JOB_ID was passed into the page.
 */
public void requireJob() {
  if ($(JOB_ID).isEmpty()) {
    badRequest("missing job ID");
    throw new RuntimeException("Bad Request: Missing job ID");
  }

  JobId jobID = MRApps.toJobID($(JOB_ID));
  app.setJob(app.context.getJob(jobID));
  if (app.getJob() == null) {
    notFound($(JOB_ID));
    throw new RuntimeException("Not Found: " + $(JOB_ID));
  }

  /* check for acl access */
  Job job = app.context.getJob(jobID);
  if (!checkAccess(job)) {
    accessDenied("User " + request().getRemoteUser() + " does not have " +
        " permission to view job " + $(JOB_ID));
    throw new RuntimeException("Access denied: User " +
        request().getRemoteUser() + " does not have permission to view job " +
        $(JOB_ID));
  }
}
 
Example 2
Source File: AppController.java    From big-c with Apache License 2.0 6 votes vote down vote up
/**
 * Ensure that a JOB_ID was passed into the page.
 */
public void requireJob() {
  if ($(JOB_ID).isEmpty()) {
    badRequest("missing job ID");
    throw new RuntimeException("Bad Request: Missing job ID");
  }

  JobId jobID = MRApps.toJobID($(JOB_ID));
  app.setJob(app.context.getJob(jobID));
  if (app.getJob() == null) {
    notFound($(JOB_ID));
    throw new RuntimeException("Not Found: " + $(JOB_ID));
  }

  /* check for acl access */
  Job job = app.context.getJob(jobID);
  if (!checkAccess(job)) {
    accessDenied("User " + request().getRemoteUser() + " does not have " +
        " permission to view job " + $(JOB_ID));
    throw new RuntimeException("Access denied: User " +
        request().getRemoteUser() + " does not have permission to view job " +
        $(JOB_ID));
  }
}
 
Example 3
Source File: TestAppController.java    From hadoop with Apache License 2.0 5 votes vote down vote up
@Before
public void setUp() throws IOException {
  AppContext context = mock(AppContext.class);
  when(context.getApplicationID()).thenReturn(
      ApplicationId.newInstance(0, 0));
  when(context.getApplicationName()).thenReturn("AppName");
  when(context.getUser()).thenReturn("User");
  when(context.getStartTime()).thenReturn(System.currentTimeMillis());
  job = mock(Job.class);
  Task task = mock(Task.class);

  when(job.getTask(any(TaskId.class))).thenReturn(task);

  JobId jobID = MRApps.toJobID("job_01_01");
  when(context.getJob(jobID)).thenReturn(job);
  when(job.checkAccess(any(UserGroupInformation.class), any(JobACL.class)))
      .thenReturn(true);

  App app = new App(context);
  Configuration configuration = new Configuration();
  ctx = mock(RequestContext.class);

  appController = new AppControllerForTest(app, configuration, ctx);
  appController.getProperty().put(AMParams.JOB_ID, "job_01_01");
  appController.getProperty().put(AMParams.TASK_ID, "task_01_01_m01_01");

}
 
Example 4
Source File: TestAppController.java    From big-c with Apache License 2.0 5 votes vote down vote up
@Before
public void setUp() throws IOException {
  AppContext context = mock(AppContext.class);
  when(context.getApplicationID()).thenReturn(
      ApplicationId.newInstance(0, 0));
  when(context.getApplicationName()).thenReturn("AppName");
  when(context.getUser()).thenReturn("User");
  when(context.getStartTime()).thenReturn(System.currentTimeMillis());
  job = mock(Job.class);
  Task task = mock(Task.class);

  when(job.getTask(any(TaskId.class))).thenReturn(task);

  JobId jobID = MRApps.toJobID("job_01_01");
  when(context.getJob(jobID)).thenReturn(job);
  when(job.checkAccess(any(UserGroupInformation.class), any(JobACL.class)))
      .thenReturn(true);

  App app = new App(context);
  Configuration configuration = new Configuration();
  ctx = mock(RequestContext.class);

  appController = new AppControllerForTest(app, configuration, ctx);
  appController.getProperty().put(AMParams.JOB_ID, "job_01_01");
  appController.getProperty().put(AMParams.TASK_ID, "task_01_01_m01_01");

}
 
Example 5
Source File: ConfBlock.java    From hadoop with Apache License 2.0 4 votes vote down vote up
@Override protected void render(Block html) {
  String jid = $(JOB_ID);
  if (jid.isEmpty()) {
    html.
      p()._("Sorry, can't do anything without a JobID.")._();
    return;
  }
  JobId jobID = MRApps.toJobID(jid);
  Job job = appContext.getJob(jobID);
  if (job == null) {
    html.
      p()._("Sorry, ", jid, " not found.")._();
    return;
  }
  Path confPath = job.getConfFile();
  try {
    ConfInfo info = new ConfInfo(job);

    html.div().h3(confPath.toString())._();
    TBODY<TABLE<Hamlet>> tbody = html.
      // Tasks table
    table("#conf").
      thead().
        tr().
          th(_TH, "key").
          th(_TH, "value").
          th(_TH, "source chain").
        _().
      _().
    tbody();
    for (ConfEntryInfo entry : info.getProperties()) {
      StringBuffer buffer = new StringBuffer();
      String[] sources = entry.getSource();
      //Skip the last entry, because it is always the same HDFS file, and
      // output them in reverse order so most recent is output first
      boolean first = true;
      for(int i = (sources.length  - 2); i >= 0; i--) {
        if(!first) {
          // \u2B05 is an arrow <--
          buffer.append(" \u2B05 ");
        }
        first = false;
        buffer.append(sources[i]);
      }
      tbody.
        tr().
          td(entry.getName()).
          td(entry.getValue()).
          td(buffer.toString()).
        _();
    }
    tbody._().
    tfoot().
      tr().
        th().input("search_init").$type(InputType.text).$name("key").$value("key")._()._().
        th().input("search_init").$type(InputType.text).$name("value").$value("value")._()._().
        th().input("search_init").$type(InputType.text).$name("source chain").$value("source chain")._()._().
        _().
      _().
    _();
  } catch(IOException e) {
    LOG.error("Error while reading "+confPath, e);
    html.p()._("Sorry got an error while reading conf file. ",confPath);
  }
}
 
Example 6
Source File: TestBlocks.java    From hadoop with Apache License 2.0 4 votes vote down vote up
/**
 * test HsController
 */

@Test
public void testHsController() throws Exception {
  AppContext ctx = mock(AppContext.class);
  ApplicationId appId = ApplicationIdPBImpl.newInstance(0,5);
  
  when(ctx.getApplicationID()).thenReturn(appId);

  AppForTest app = new AppForTest(ctx);
  Configuration config = new Configuration();
  RequestContext requestCtx = mock(RequestContext.class);
  HsControllerForTest controller = new HsControllerForTest(app, config,
          requestCtx);
  controller.index();
  assertEquals("JobHistory", controller.get(Params.TITLE, ""));
  assertEquals(HsJobPage.class, controller.jobPage());
  assertEquals(HsCountersPage.class, controller.countersPage());
  assertEquals(HsTasksPage.class, controller.tasksPage());
  assertEquals(HsTaskPage.class, controller.taskPage());
  assertEquals(HsAttemptsPage.class, controller.attemptsPage());

  controller.set(AMParams.JOB_ID, "job_01_01");
  controller.set(AMParams.TASK_ID, "task_01_01_m01_01");
  controller.set(AMParams.TASK_TYPE, "m");
  controller.set(AMParams.ATTEMPT_STATE, "State");

  Job job = mock(Job.class);
  Task task = mock(Task.class);
  when(job.getTask(any(TaskId.class))).thenReturn(task);
  JobId jobID = MRApps.toJobID("job_01_01");
  when(ctx.getJob(jobID)).thenReturn(job);
  when(job.checkAccess(any(UserGroupInformation.class), any(JobACL.class)))
          .thenReturn(true);

  controller.job();
  assertEquals(HsJobPage.class, controller.getClazz());
  controller.jobCounters();
  assertEquals(HsCountersPage.class, controller.getClazz());
  controller.taskCounters();
  assertEquals(HsCountersPage.class, controller.getClazz());
  controller.tasks();
  assertEquals(HsTasksPage.class, controller.getClazz());
  controller.task();
  assertEquals(HsTaskPage.class, controller.getClazz());
  controller.attempts();
  assertEquals(HsAttemptsPage.class, controller.getClazz());

  assertEquals(HsConfPage.class, controller.confPage());
  assertEquals(HsAboutPage.class, controller.aboutPage());
  controller.about();
  assertEquals(HsAboutPage.class, controller.getClazz());
  controller.logs();
  assertEquals(HsLogsPage.class, controller.getClazz());
  controller.nmlogs();
  assertEquals(AggregatedLogsPage.class, controller.getClazz());

  assertEquals(HsSingleCounterPage.class, controller.singleCounterPage());
  controller.singleJobCounter();
  assertEquals(HsSingleCounterPage.class, controller.getClazz());
  controller.singleTaskCounter();
  assertEquals(HsSingleCounterPage.class, controller.getClazz());


}
 
Example 7
Source File: ConfBlock.java    From big-c with Apache License 2.0 4 votes vote down vote up
@Override protected void render(Block html) {
  String jid = $(JOB_ID);
  if (jid.isEmpty()) {
    html.
      p()._("Sorry, can't do anything without a JobID.")._();
    return;
  }
  JobId jobID = MRApps.toJobID(jid);
  Job job = appContext.getJob(jobID);
  if (job == null) {
    html.
      p()._("Sorry, ", jid, " not found.")._();
    return;
  }
  Path confPath = job.getConfFile();
  try {
    ConfInfo info = new ConfInfo(job);

    html.div().h3(confPath.toString())._();
    TBODY<TABLE<Hamlet>> tbody = html.
      // Tasks table
    table("#conf").
      thead().
        tr().
          th(_TH, "key").
          th(_TH, "value").
          th(_TH, "source chain").
        _().
      _().
    tbody();
    for (ConfEntryInfo entry : info.getProperties()) {
      StringBuffer buffer = new StringBuffer();
      String[] sources = entry.getSource();
      //Skip the last entry, because it is always the same HDFS file, and
      // output them in reverse order so most recent is output first
      boolean first = true;
      for(int i = (sources.length  - 2); i >= 0; i--) {
        if(!first) {
          // \u2B05 is an arrow <--
          buffer.append(" \u2B05 ");
        }
        first = false;
        buffer.append(sources[i]);
      }
      tbody.
        tr().
          td(entry.getName()).
          td(entry.getValue()).
          td(buffer.toString()).
        _();
    }
    tbody._().
    tfoot().
      tr().
        th().input("search_init").$type(InputType.text).$name("key").$value("key")._()._().
        th().input("search_init").$type(InputType.text).$name("value").$value("value")._()._().
        th().input("search_init").$type(InputType.text).$name("source chain").$value("source chain")._()._().
        _().
      _().
    _();
  } catch(IOException e) {
    LOG.error("Error while reading "+confPath, e);
    html.p()._("Sorry got an error while reading conf file. ",confPath);
  }
}
 
Example 8
Source File: TestBlocks.java    From big-c with Apache License 2.0 4 votes vote down vote up
/**
 * test HsController
 */

@Test
public void testHsController() throws Exception {
  AppContext ctx = mock(AppContext.class);
  ApplicationId appId = ApplicationIdPBImpl.newInstance(0,5);
  
  when(ctx.getApplicationID()).thenReturn(appId);

  AppForTest app = new AppForTest(ctx);
  Configuration config = new Configuration();
  RequestContext requestCtx = mock(RequestContext.class);
  HsControllerForTest controller = new HsControllerForTest(app, config,
          requestCtx);
  controller.index();
  assertEquals("JobHistory", controller.get(Params.TITLE, ""));
  assertEquals(HsJobPage.class, controller.jobPage());
  assertEquals(HsCountersPage.class, controller.countersPage());
  assertEquals(HsTasksPage.class, controller.tasksPage());
  assertEquals(HsTaskPage.class, controller.taskPage());
  assertEquals(HsAttemptsPage.class, controller.attemptsPage());

  controller.set(AMParams.JOB_ID, "job_01_01");
  controller.set(AMParams.TASK_ID, "task_01_01_m01_01");
  controller.set(AMParams.TASK_TYPE, "m");
  controller.set(AMParams.ATTEMPT_STATE, "State");

  Job job = mock(Job.class);
  Task task = mock(Task.class);
  when(job.getTask(any(TaskId.class))).thenReturn(task);
  JobId jobID = MRApps.toJobID("job_01_01");
  when(ctx.getJob(jobID)).thenReturn(job);
  when(job.checkAccess(any(UserGroupInformation.class), any(JobACL.class)))
          .thenReturn(true);

  controller.job();
  assertEquals(HsJobPage.class, controller.getClazz());
  controller.jobCounters();
  assertEquals(HsCountersPage.class, controller.getClazz());
  controller.taskCounters();
  assertEquals(HsCountersPage.class, controller.getClazz());
  controller.tasks();
  assertEquals(HsTasksPage.class, controller.getClazz());
  controller.task();
  assertEquals(HsTaskPage.class, controller.getClazz());
  controller.attempts();
  assertEquals(HsAttemptsPage.class, controller.getClazz());

  assertEquals(HsConfPage.class, controller.confPage());
  assertEquals(HsAboutPage.class, controller.aboutPage());
  controller.about();
  assertEquals(HsAboutPage.class, controller.getClazz());
  controller.logs();
  assertEquals(HsLogsPage.class, controller.getClazz());
  controller.nmlogs();
  assertEquals(AggregatedLogsPage.class, controller.getClazz());

  assertEquals(HsSingleCounterPage.class, controller.singleCounterPage());
  controller.singleJobCounter();
  assertEquals(HsSingleCounterPage.class, controller.getClazz());
  controller.singleTaskCounter();
  assertEquals(HsSingleCounterPage.class, controller.getClazz());


}