<%@ page contentType="text/html; charset=UTF-8" import="javax.servlet.*" import="javax.servlet.http.*" import="java.io.*" import="java.util.*" import="java.text.DecimalFormat" import="org.apache.hadoop.mapred.*" import="org.apache.hadoop.util.*" %> <%! JobTracker tracker = JobTracker.getTracker(); String trackerName = StringUtils.simpleHostname(tracker.getJobTrackerMachine()); private void printTaskSummary(JspWriter out, String jobId, String kind, double completePercent, TaskInProgress[] tasks ) throws IOException { int totalTasks = tasks.length; int runningTasks = 0; int finishedTasks = 0; int killedTasks = 0; int failures = 0; for(int i=0; i < totalTasks; ++i) { TaskInProgress task = tasks[i]; if (task.isComplete()) { finishedTasks += 1; } else if (task.isRunning()) { runningTasks += 1; } else if (task.wasKilled()) { killedTasks += 1; } failures += task.numTaskFailures(); } out.print("" + kind + "" + StringUtils.formatPercent(completePercent, 2) + "" + totalTasks + "" + (totalTasks - runningTasks - finishedTasks - killedTasks) + "" + runningTasks + "" + finishedTasks + "" + killedTasks + "" + failures + "\n"); } private void printJobStatus(JspWriter out, String jobId) throws IOException { JobInProgress job = (JobInProgress) tracker.getJob(jobId); if (job == null) { out.print("Job " + jobId + " not found.
\n"); return; } JobProfile profile = job.getProfile(); JobStatus status = job.getStatus(); int runState = status.getRunState(); out.print("User: " + profile.getUser() + "
\n"); out.print("Job Name: " + profile.getJobName() + "
\n"); if (runState == JobStatus.RUNNING) { out.print("Job File: " + profile.getJobFile() + "
\n"); } else { out.print("Job File: " + profile.getJobFile() + "
\n"); } out.print("Started at: " + new Date(job.getStartTime()) + "
\n"); if (runState == JobStatus.RUNNING) { out.print("Status: Running
\n"); } else { if (runState == JobStatus.SUCCEEDED) { out.print("Status: Succeeded
\n"); } else if (runState == JobStatus.FAILED) { out.print("Status: Failed
\n"); } out.print("Finished at: " + new Date(job.getFinishTime()) + "
\n"); } out.print("
\n"); out.print(""); out.print("" + "" + "" + "\n"); printTaskSummary(out, jobId, "map", status.mapProgress(), job.getMapTasks()); printTaskSummary(out, jobId, "reduce", status.reduceProgress(), job.getReduceTasks()); out.print("
Kind% CompleteNum TasksPendingRunningCompleteKilledFailures
\n"); } %> <% String jobid = request.getParameter("jobid"); %> Hadoop <%=jobid%> on <%=trackerName%>

Hadoop <%=jobid%> on <%=trackerName%>

<% printJobStatus(out, jobid); %>
Go back to JobTracker
Hadoop, 2006.