total_map_tasks += job.getTasks(TaskType.MAP).length; total_reduce_tasks += job.getTasks(TaskType.REDUCE).length; for (TaskInProgress task : job.getTasks(TaskType.REDUCE)) { for (TaskInProgress task : job.getTasks(TaskType.MAP)) { TaskStatus[] taskStatuses = task.getTaskStatuses(); for (TaskStatus status : taskStatuses) {
/** * Call {@link #removeTaskEntry(String)} for each of the * job's tasks. * When the job is retiring we can afford to nuke all it's tasks * * @param job the job about to be 'retired' */ synchronized void removeJobTasks(JobInProgress job) { // iterate over all the task types for (TaskType type : TaskType.values()) { // iterate over all the tips of the type under consideration for (TaskInProgress tip : job.getTasks(type)) { // iterate over all the task-ids in the tip under consideration for (TaskAttemptID id : tip.getAllTaskAttemptIDs()) { // remove the task-id entry from the jobtracker removeTaskEntry(id); } } } }
/** * Call {@link #removeTaskEntry(org.apache.hadoop.mapred.TaskAttemptID)} * for each of the * job's tasks. * When the JobTracker is retiring the long-completed * job, either because it has outlived {@link #RETIRE_JOB_INTERVAL} * or the limit of {@link #MAX_COMPLETE_USER_JOBS_IN_MEMORY} jobs * has been reached, we can afford to nuke all it's tasks; a little * unsafe, but practically feasible. * * @param job the job about to be 'retired' */ synchronized void removeJobTasks(JobInProgress job) { // iterate over all the task types for (TaskType type : TaskType.values()) { // iterate over all the tips of the type under consideration for (TaskInProgress tip : job.getTasks(type)) { // iterate over all the task-ids in the tip under consideration for (TaskAttemptID id : tip.getAllTaskAttemptIDs()) { // remove the task-id entry from the jobtracker removeTaskEntry(id); } } } }
pendingMaps += scheduler.getPendingTasks(progress.getTasks(TaskType.MAP)); pendingReduces += scheduler.getPendingTasks(progress.getTasks(TaskType.REDUCE)); runningMaps += progress.runningMaps(); runningReduces += progress.runningReduces(); pendingMaps += scheduler.getPendingTasks(progress.getTasks(TaskType.JOB_CLEANUP));
"<th>Error</th><th>Logs</th></tr>\n"); if (includeMap) { TaskInProgress[] tips = job.getTasks(TaskType.MAP); for(int i=0; i < tips.length; ++i) { printFailedAttempts(out, tracker, tips[i], state); TaskInProgress[] tips = job.getTasks(TaskType.REDUCE); for(int i=0; i < tips.length; ++i) { printFailedAttempts(out, tracker, tips[i], state);
TaskInProgress[] allTips = getTasks(type); int finishedTips = 0; int runningTips = 0;
int failedMaps = 0; int killedMaps = 0; for (TaskInProgress tip: job.getTasks(TaskType.MAP)) { if (tip.isRunning()) { runningMaps += tip.getActiveTasks().size(); int failedReduces = 0; int killedReduces = 0; for (TaskInProgress tip: job.getTasks(TaskType.REDUCE)) { if (tip.isRunning()) { runningReduces += tip.getActiveTasks().size();
TaskInProgress tip = jip.getTasks(TaskType.REDUCE)[0]; assertNull(tip.getTaskStatus(tip.getAllTaskAttemptIDs()[0]));
for (TaskInProgress tip : job.getTasks(TaskType.JOB_SETUP)) { for (TaskStatus taskStatus : tip.getTaskStatuses()) { if (taskStatus.getRunState() != TaskStatus.State.RUNNING && for (TaskInProgress tip : job.getTasks(TaskType.MAP)) { for (TaskStatus taskStatus : tip.getTaskStatuses()) { if (taskStatus.getRunState() != TaskStatus.State.RUNNING && for (TaskInProgress tip : job.getTasks(TaskType.REDUCE)) { for (TaskStatus taskStatus : tip.getTaskStatuses()) { if (taskStatus.getRunState() != TaskStatus.State.RUNNING &&
for (TaskInProgress tip : job.getTasks(TaskType.JOB_SETUP)) { for (TaskStatus taskStatus : tip.getTaskStatuses()) { if (taskStatus.getRunState() != TaskStatus.State.RUNNING && for (TaskInProgress tip : job.getTasks(TaskType.MAP)) { for (TaskStatus taskStatus : tip.getTaskStatuses()) { if (taskStatus.getRunState() != TaskStatus.State.RUNNING && for (TaskInProgress tip : job.getTasks(TaskType.REDUCE)) { for (TaskStatus taskStatus : tip.getTaskStatuses()) { if (taskStatus.getRunState() != TaskStatus.State.RUNNING &&
JobInProgress jip = jt.getJob(job.getID()); TaskAttemptID setupID = getRunningTaskID(jip.getTasks(TaskType.JOB_SETUP)); if (commandLineKill) { killTaskFromCommandLine(job, setupID, jt); getRunningTaskID(jip.getTasks(TaskType.JOB_CLEANUP)); if (commandLineKill) { killTaskFromCommandLine(job, cleanupID, jt);
"launchTime" + EQUALS + job.getLaunchTime() + StringUtils.COMMA + "finishTime" + EQUALS + job.getFinishTime() + StringUtils.COMMA + "numMaps" + EQUALS + job.getTasks(TaskType.MAP).length + StringUtils.COMMA + "numSlotsPerMap" + EQUALS + job.getNumSlotsPerMap() + StringUtils.COMMA + "numReduces" + EQUALS + job.getTasks(TaskType.REDUCE).length + StringUtils.COMMA + "numSlotsPerReduce" + EQUALS + job.getNumSlotsPerReduce() +
.add(getTaskLaunchTimesSummary(job)) .add("finishTime", job.getFinishTime()) .add("numMaps", job.getTasks(TaskType.MAP).length) .add("numSlotsPerMap", job.getNumSlotsPerMap()) .add("numReduces", job.getTasks(TaskType.REDUCE).length) .add("numSlotsPerReduce", job.getNumSlotsPerReduce()) .add("user", profile.getUser())
job.getTasks(TaskType.JOB_SETUP)); out.print("<br>\n"); if (runState == JobStatus.RUNNING) { job.getTasks(TaskType.JOB_CLEANUP)); out.print("<br>\n"); if (flakyTaskTrackers > 0) { "\">Failed/Killed<br>Task Attempts</a></th></tr>\n"); printTaskSummary(out, jobId, "map", status.mapProgress(), job.getTasks(TaskType.MAP)); printTaskSummary(out, jobId, "reduce", status.reduceProgress(), job.getTasks(TaskType.REDUCE)); out.print("</table>\n"); if(job.getTasks(TaskType.REDUCE).length > 0) { out.write("\n<hr>Reduce Completion Graph -\n"); if("off".equals(session.getAttribute("reduce.graph"))) {