<%@ page contentType="text/html; charset=UTF-8" import="javax.servlet.*" import="javax.servlet.http.*" import="java.io.*" import="java.lang.String" import="java.util.*" import="org.apache.hadoop.mapred.*" import="org.apache.hadoop.util.*" import="java.text.SimpleDateFormat" import="org.apache.hadoop.util.*" %> <%! static SimpleDateFormat dateFormat = new SimpleDateFormat("d-MMM-yyyy HH:mm:ss") ; %> <% String jobid = request.getParameter("jobid"); JobTracker tracker = JobTracker.getTracker(); JobInProgress job = (JobInProgress) tracker.getJob(jobid); String tipid = request.getParameter("taskid"); TaskStatus[] ts = (job != null) ? tracker.getTaskStatuses(jobid, tipid): null; %> Hadoop Task Details

Job <%=jobid%>


All Task Attempts

<% if( ts.length == 0 ) { %>

No Task Attempts found

<% }else{ %> <% if( ! ts[0].getIsMap() ) { %> <% } %> <% for (int i = 0; i < ts.length; i++) { TaskStatus status = ts[i]; String taskTrackerName = status.getTaskTracker(); TaskTrackerStatus taskTracker = tracker.getTaskTracker(taskTrackerName); out.print(""); String taskAttemptTracker = null; if (taskTracker == null) { out.print(""); } else { taskAttemptTracker = "http://" + taskTracker.getHost() + ":" + taskTracker.getHttpPort(); out.print(""); } out.print(""); out.print(""); out.print(""); if( ! ts[i].getIsMap() ) { out.print(""); out.println(""); } out.println(""); out.print(""); out.print("\n"); } } %>
Task AttemptsMachineStatusProgressStart TimeShuffle FinishedSort FinishedFinish TimeErrorsTask Logs
" + status.getTaskId() + "" + taskTrackerName + "" + taskTracker.getHost() + "" + status.getRunState() + ""+ StringUtils.formatPercent(status.getProgress(),2) + "" + StringUtils.getFormattedTimeWithDiff(dateFormat, status.getStartTime(), 0) + "" + StringUtils.getFormattedTimeWithDiff(dateFormat, status.getShuffleFinishTime(), status.getStartTime()) + "" + StringUtils.getFormattedTimeWithDiff(dateFormat, status.getSortFinishTime(), status.getShuffleFinishTime()) + ""+ StringUtils.getFormattedTimeWithDiff(dateFormat, status.getFinishTime(), status.getStartTime()) + "
");
      List failures = tracker.getTaskDiagnostics(jobid, tipid,
                                                         status.getTaskId());
      if (failures == null) {
        out.print(" ");
      } else {
        for(Iterator itr = failures.iterator(); itr.hasNext(); ) {
          out.print(itr.next());
          if (itr.hasNext()) {
            out.print("\n-------\n");
          }
        }
      }
      out.print("
"); if (taskAttemptTracker == null) { out.print("n/a"); } else { String taskLogUrl = taskAttemptTracker + "/tasklog.jsp?taskid=" + status.getTaskId(); String tailFourKBUrl = taskLogUrl + "&tail=true&tailsize=4096"; String tailEightKBUrl = taskLogUrl + "&tail=true&tailsize=8192"; String entireLogUrl = taskLogUrl + "&all=true"; out.print("Last 4KB
"); out.print("Last 8KB
"); out.print("All
"); } out.println("

Go back to the job
Go back to JobTracker
Hadoop, 2006.